複数の子アクティビティを持つ tabActivity があります。アクティビティAから、カメラまたはギャラリーを開始します。
final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Utils.getImagePath().getPath());
intent.putExtra("return-data", true);
startActivityForResult(intent, Utils.CROPPER_PICK_FROM_CAMERA);
と
final Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, Utils.CROPPER_PICK_FROM_FILE);
結果はアクティビティAに返されます
また、画像のトリミングを行うアクティビティBがあります(アクティビティAから開始します)。ただし、結果は TabActivity に返されます (一部の電話ではアクティビティAに返されます)。どうすれば防ぐことができますか?
編集:
活動Aから活動B(作物を作る)を開始します(活動からではなく、他のクラスから)
final CropStarter starter = new CropStarter(mContext);
starter.startCropping(path);
public void startCropping()
{
final Intent intent = new Intent(mContext, CropImage.class);
intent.setData(mImagePath);
intent.putExtra("return-data", true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Utils.getImagePath());
intent.putExtra("outputFormat", "PNG");
mContext.startActivityForResult(intent, Utils.CROPPER_CROP_FROM_CAMERA);
}
編集2:
このコードで A からアクティビティ B を開始した場合:
final Intent intent = new Intent(this, CropImage.class);
結果は同じです:結果はtabActivityに返されます