在我的应用程序中单击按钮时,它会打开相机以捕获图像。相机代码如下......
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
file = new File(Environment.getExternalStorageDirectory(), String.valueOf(System.currentTimeMillis()) + ".jpg");
Log.e("ffffffffffiiiiiiiiilllllllllle ",""+file);
f = String.valueOf(file);
mCapturedImageURI = Uri.fromFile(file);
Log.e("outputFileUri ",""+mCapturedImageURI);
setupImage(intent);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
startActivityForResult(intent, 3);
启动活动结果我显示一个带有两个按钮的警告框。如果单击button1,图像将上传到网址,如果单击按钮2,则会将其上传到其他网址。
现在问题是如果相机被打开并且没有捕获图像,则返回到用户用来单击后退按钮的上一个活动,此时也会出现警告框。用户单击按钮1或按钮2,应用程序崩溃。
如何在未按下图像的情况下按下后退按钮时避开警告框。
答案 0 :(得分:4)
在onActivityResult()
内
首先检查结果是否为O.K.如果它是O.K那么你可以继续下一步。否则什么都不会被处理。
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == Activity.RESULT_OK )
{
if(requestCode == CAMERA_ACTIVITY)
//PROCESS YOUR LOGIC
}
}
答案 1 :(得分:2)
按下后退时,您将在onActivityResult()
的{{1}} {{}}}中获得RESULT_CANCELED
。
答案 2 :(得分:1)
在捕获图像时采用布尔flag
设置为true
,并在显示警告框之前检查标记值...即flag
值是{{1}然后显示对话