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 :(得分:10)
至于我从你的问题中了解到的是,
使用ActivityGroup
时会发生这种情况。由于您在子Activity
(即Activity
)内为结果启动TakePicture.class
,因此Android仅允许子Activity
的单个嵌套层(表示子{ {1}}无法嵌套另一个子Activity
)。
您可能正在处理您孩子的结果Activity
(即Activity
)。
因此问题的solution是在您的父TakePicture.class
(Activity
)OpenBeeActivityGroup
内处理该结果,然后将结果发送到有效{{3}} 1}}。
你会用这样的东西。
在您的孩子内部活动从父onActivityResult()
开始Activity
,例如。
startActivityForResult()
并在Activity
getParent().startActivityForResult(cameraIntent,Global.CAMERA_PIC_REQUEST);
(onActivityResult()
)的ActivityGroup
内:
OpenBeeActivityGroup
答案 1 :(得分:0)
沿着这些方向,我试图使用你的代码启动相机,如果你真的已经嵌套了,那么你就不能再次调用startActivityForResult。您需要做的是扩展ActivityGroup以处理为结果启动子活动。我不得不想出来 - HTH。