2011-09-16 28 views
2

当我点击一个按钮时,它会打开相机捕捉图像。相机代码如下...如何避免startActivityForResult而后退按钮被点击在Android应用程序

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被点击,图片将被上传到一个网址,如果按钮2被点击,它将被上传到另一个网址。

现在的问题是,如果相机被打开并且图像没有被捕获,要返回到用户用来点击后退按钮的上一个活动,并且此时还会出现警告框。无论是用户点击button1还是button2,应用程序都会崩溃。

如何避免在没有捕获图像的情况下按下后退按钮时的警告框。

+0

在哪里写你的警报框代码?你可以发布OnActivityforresult代码吗? – Venky

回答

4

onActivityResult() 第一次检查中如果结果是好的如果它的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

采取布尔flag当图像被捕获,其设置为true,并显示警告框之前检查标志值...也就是说,如果flagtrue则表示对话

相关问题