2

複数の子アクティビティを持つ 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に返されます

4

1 に答える 1

0

そのため、問題は、マニフェストにアクティビティタグを追加するのを忘れたことです。

android:configChanges="bla bla bla |screenSize

一部のデバイスでは、カメラビューが画面サイズを変更するために起動するため、この状況を処理しませんでした。

于 2013-02-09T08:51:52.467 に答える