Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android应用程序中单击后退按钮时如何避免startActivityForResult_Android_Button_Camera_Back - Fatal编程技术网

在android应用程序中单击后退按钮时如何避免startActivityForResult

在android应用程序中单击后退按钮时如何避免startActivityForResult,android,button,camera,back,Android,Button,Camera,Back,在我的应用程序中,当点击一个按钮时,它会打开相机来捕捉图像。摄像机代码如下 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); file = new File(Environment.getExternalStorageDirectory(), String.valueOf(System.currentTimeMillis()) + ".jpg"); Log.e("ff

在我的应用程序中,当点击一个按钮时,它会打开相机来捕捉图像。摄像机代码如下

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);
在开始活动结果时,我显示一个带有两个按钮的警报框。如果单击按钮1,图像将上载到url,如果单击按钮2,图像将上载到另一个url

现在的问题是,如果相机被打开而图像未被捕获,要返回到用户使用的上一个活动,请单击“上一步”按钮,此时也会出现警告框。用户单击按钮1或按钮2,应用程序就会崩溃


如何避免在按下后退按钮而不捕获图像时出现警报框。

当按下后退按钮时,您将进入调用
活动的
活动的
结果()

获取一个布尔
标志,当捕获图像时,该标志设置为
true
,在显示警报框之前,请检查标志值…即如果
标志
值为
,则在
onActivityResult()中显示对话框
首先检查结果是否正常。如果正常,则可以继续下一步。否则将不处理任何内容

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
    }

}

您在哪里为警报框编写代码?你能在ActivityForresult代码上发布吗?