私は自分のアクティビティからデフォルトのカメラを呼び出してから、onActivityResultを処理しています。私のコードは、写真が撮られたときに確認を持っていないLGアリーでうまくいくようです。しかし、Nexus Sで同じアプリを実行すると、アクティビティに戻る前に「OK」、「Retake」、「Cancel」と表示されます。 「キャンセル」は機能しますが、画像を保存せずに自分のアクティビティに戻っても、「OK」は何の効果もないように見えます。デフォルトのカメラアクティビティが終了しないOKボタンを押したとき
以下の私のコード:
private void captureImage() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
File path = new File(Environment.getExternalStorageDirectory().getPath() + "/Images/" + (new UserContextAdapter(this)).getUser() + "/");
path.mkdirs();
File file = new File(path, "Image_Story_" + mRowId.toString() + ".jpg");
newImageUri = Uri.fromFile(file);
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, newImageUri);
startActivityForResult(intent, CAPTURE_IMAGE);
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
switch (requestCode) {
case CAPTURE_IMAGE:
switch (resultCode) {
case 0:
Log.i("CAPTURE", "Cancelled by User");
break;
case -1:
mImageUri = newImageUri;
setImageFromUri();
}
}
あなたがストレージ許可を与えていることを確認してください –