2013-01-23 47 views
2

我有tabActivity與幾個子活動。從活動一個我開始相機或畫廊:onActivityResult被調用父級活動不子

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開始)。但它的結果返回到TabActivity(在某些電話上它返回到活動A)。我怎樣才能防止它?

EDIT

我開始活性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

+1

什麼是你從B的startActivityForResult的代碼? –

+0

可能是你的mContext的一個問題 – Tobrun

+0

mContext被定義爲Activity。我在另一個地方使用** CropStarter **(不是從標籤活動的小孩開始裁切,它起作用) –

回答

0

所以問題是,我忘了在活動標籤中添加清單如下:

android:configChanges="bla bla bla |screenSize

在有些設備的攝像頭視圖會觸發屏幕大小發生變化,所以我沒有處理這種情況。

相關問題