1
私のアンドロイドアプリでは、ギャラリーやカメラの画像を取得するための 'imageselect'モジュールと、処理して表示する 'app'モジュールがあります。リクエストコードと結果コードを別のモジュールで扱います
if(requestCode == Constants.REQUEST_CODE_PHOTO && resultCode == RESULT_OK && data != null) {
setResult(RESULT_OK, data);
finish();
Toast.makeText(AlbumSelectActivity.this,"Calling ALbum IF",Toast.LENGTH_SHORT).show();
}else if(requestCode == Constants.REQUEST_CODE_CAMERA && resultCode == RESULT_OK && data != null){
setResult(RESULT_OK, data);
finish();
Toast.makeText(AlbumSelectActivity.this,"Calling ALbum ELSE IF",Toast.LENGTH_SHORT).show();
}
:異なる要求コードのために私は両方のオプション
//to choose gallery image
Intent intent = new Intent(getApplicationContext(), ImageSelectActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_ALBUM, albums.get(position).name);
startActivityForResult(intent, Constants.REQUEST_CODE_PHOTO);
// to capture camera image
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, Constants.REQUEST_CODE_CAMERA);
OnActivity結果に対してimageselectモジュールの活動に完全に
開始アクティビティの検索結果を要求コードと結果コードを取得
public static final int REQUEST_CODE_PHOTO = 2000;
public static final int REQUEST_CODE_CAMERA = 2006;
午前をしました
これまでうまく動作します。私のアプリケーションモジュールのアクティビティでは常に同じリクエストコードを取得します。常にフォトリクエストコードである2000を取得します。
アプリケーションモジュールMainActivity onActivityResult:
if (resultCode == RESULT_OK) {
if (requestCode == Constants.REQUEST_CODE_PHOTO && data != null) {
// always getting 'REQUEST_CODE_PHOTO' so this block is working
} else if (requestCode == Constants.REQUEST_CODE_CAMERA && data != null) {
// this block never called even when 'REQUEST_CODE_CAMERA' passed
}
}
あなたがすることはできません置く他には何がありますか?そうでなければ、常に問題と同じ要求コードを取得しています –