私のアプリでは、システム カメラを呼び出して写真を撮り、その結果を onActivityResult で処理します。以前は機能していましたが、今では呼び出しアクティビティが時々殺されたり、うまく機能したりすることがあります。全体像が必要なので、これがなければintent.putExtra(MediaStore.EXTRA_OUTPUT, output)
(インテント データを使用してビットマップを取得するなど) 使用する必要があります。写真を撮って「OK」ボタンをクリックした後、カメラを起動するアクティビティに戻る必要がありますが、正常に動作することもあれば、親アクティビティが終了することもあります。検索後、設定android:alwaysRetainTaskState="true"
しましたが、うまくいきません。私のシステムはGalaxy S I9000です。これを他の電話でもテストしましたが、うまくいきました。誰かが理由を知っていましたか?ここに私のコードがあります
private void startTakePhoto(){
App.fileNameWithPath = Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator + System.currentTimeMillis()+".jpg";
File file = new File(App.fileNameWithPath);
Uri output = Uri.fromFile(file);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, output);
boolean flag = BaseUtil.hasImageCaptureBug();
System.out.println(flag);
//intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(fileNameWithPath)));
//BaseUtil.saveImagePath(App.fileNameWithPath, this);
startActivityForResult(intent, REQUEST_TAKE_PHOTO);
}
このように: 私が欲しいのは 1. A スタート B (スタック: A,B) 2. B カメラ アクティビティを開始し、結果を待ちます (スタック:A、B、カメラ) 3. 画像を保存し、B アクティビティを返す (スタック: A,B) ただし、ステップ 3 では、B ではなく A に戻ります。 システムで B が終了しているように見えますが、なぜですか?