来自ActivityGroup的startActivityForResult?

我试图从一个活动组开始一个活动似乎无法得到任何结果。 我在活动和活动组中放了一个活跃的结果? 具体来说,我试图让用户从Intent.ACTION_GET_CONTENT中select一个照片/video,但我从来没有得到任何回报? 我究竟做错了什么?

以下是我如何调用代码:

Intent pickMedia = new Intent(Intent.ACTION_GET_CONTENT); pickMedia.setType("video/*"); startActivityForResult(pickMedia,12345); 

有任何想法吗?

Solutions Collecting From Web of "来自ActivityGroup的startActivityForResult?"

我有类似的问题。 我有一个ActivityGrouppipe理子活动。 其中一个子活动叫做类似的外部意图(在我的应用程序外部)。 它从未在启动它的子活动中调用onActivityResult。

我终于想通了/记得这个问题是因为Android将只允许一个嵌套的子活动层…即,子活动不能嵌套子活动。 要解决这个问题:

  1. 从你的子活动调用getParent().startActivityForResult()
  2. 你的父母(活动组)将能够处理onActivityResult 。 所以我创build了一个ActivityGroup的子类并处理了onActivityResult
  3. 如果需要,您可以将结果重新路由回子活动。 只需通过getLocalActivityManager().getCurrentActivity()获取当前活动。 我的子活动inheritance自定义活动,所以我在该子类中添加了一个handleActivityResult(requestCode, resultCode, data)来供ActivityGroup调用。

在你的家长活动

 protected void onActivityResult(int requestCode, int resultCode, Intent intent){ if (requestCode == YOUR_REQUEST_CODE) { CHILD_ACTIVITY_NAME activity = (CHILD_ACTIVITY_NAME)getLocalActivityManager().getCurrentActivity(); activity.onActivityResult(requestCode, resultCode, intent);}} 

所以你的childern活动的onActivityResult将会运行。