2011-07-13 68 views
3
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent,CAMERA_PIC_REQUEST); 


      Intent takePictureIntent = new Intent(getParent(),TakePicture.class); 
      takePictureIntent.putExtra("image",thumbnail); 
      OpenBeeActivityGroup opentActivity = (OpenBeeActivityGroup)getParent();   
      opentActivity.startChildActivity("TakePicture Activity",takePictureIntent);  
+0

戴上我的心靈讀書帽...不,但不工作:) –

+0

但爲什麼有理由從你身邊... –

+0

任何其他方式來完成任務...? –

回答

10

至於我從你的問題理解的是,當 同時使用ActivityGroup這發生堅持讓相機照片。由於Activity(即TakePicture.class)內部的結果是Activity,所以Android將只允許單個嵌套子層Activity(ies)(表示子Activity不能嵌套另一個子Activity)。 而且您可能正在處理您的孩子Activity的結果(即TakePicture.class)。

所以solution你的問題是處理你的父母ActivityOpenBeeActivityGroup)的onActivityResult()內部的結果,然後你的結果發送到活動Activity。 你會使用這樣的東西。 裏面的孩子活動從父母Activity喜歡開始你的startActivityForResult()

getParent().startActivityForResult(cameraIntent,Global.CAMERA_PIC_REQUEST); 

和裏面的ActivityGrouponActivityResult()OpenBeeActivityGroup):

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    if (resultCode == Activity.RESULT_OK) 
    { 
     switch(requestCode) 
     { 
     case Global.CAMERA_PIC_REQUEST: // global variable to indicate camera result 
     Activity activity = getLocalActivityManager().getCurrentActivity(); 
     activity.onActivityResult(requestCode, resultCode, data); 
     break; 
     } 

    } 
} 
+0

如果有一個更多的子類,我想從哪裏開始攝像機意圖,那麼我還需要捕獲父對象上的onActivityResult,即OpenBeeActivityGroup? –

+0

是的,如果你正在使用getParent()開始你的孩子'Activity',startChildActivity(「AnyString」,intent);'那麼你將在'OpenBeeActivityGroup'中處理結果 –

+0

@AdilSoomro謝謝,它幫助我很多 – Piraba

0

這些方針,我曾嘗試用你的代碼來啓動相機,如果你真正擁有它嵌套的,那麼你就不能再次調用startActivityForResult。你需要做的是擴展ActivityGroup來處理開始一個兒童活動的結果。我必須弄清楚 - HTH。

+0

可以請你詳細說明你的答案,如何做到這一點?我在我的應用程序中有同樣的問題。 – Nermeen

+0

第一個問題是你使用android 4還是不行?如果您使用4,則需要將其添加到fragmentmanager以啓動相機活動。如果你不是,那麼tabcontainer活動必須有一個函數作爲傳遞。 標籤1 = Y 標籤2 = Z 經理= X 所以,如果你想打電話給Y中的相機,您需要使用開始活動導致X,然後通過回傳結果爲Y – Jon

+0

我只是切換到4.0,它修復了我所有複雜的代碼。我現在喜歡碎片! – Jon