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);

结果返回给Activity 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 回答