2011-09-16 11 views
2

で戻るボタンをクリックしてstartActivityForResultを回避する方法。カメラのコードは次のようになります...ボタンをクリックすると、画像をキャプチャするためにカメラが開き、アンドロイドアプリ

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); 

開始アクティビティ結果私は2つのボタンで警告ボックスを表示しています。ボタン1をクリックすると、画像はURLにアップロードされ、ボタン2をクリックすると別のURLにアップロードされます。

問題は、カメラが開いて画像がキャプチャされていない場合、ユーザーが戻るボタンをクリックするために使用した前回のアクティビティに戻り、この時間までに警告ボックスが表示されます。ユーザーがボタン1またはボタン2をクリックすると、アプリケーションがクラッシュします。

イメージをキャプチャせずに戻るボタンを押したときに警告ボックスを回避する方法。

+0

あなたはアラートボックスのコードを書いていますか? OnActivityforresultコードを投稿できますか? – Venky

答えて

4

を示している場合、すなわち...画像を撮影する際にtrueに設定されflagブール値を取る、と警告ボックスを表示する前にフラグの値をチェックします結果がOKの場合その場合は、次の手順に進むことができます。さもなければ何も処理されません。

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、あなたのonActivityResult() 最初のチェックの内側の対話