9

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

这是我如何调用代码:

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

有任何想法吗?

4

2 回答 2

41

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

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

  1. getParent().startActivityForResult()从您的子活动中调用
  2. 您的父母(活动组)将能够处理onActivityResult. 所以我创建了一个子类ActivityGroup并处理了这个onActivityResult
  3. 如果需要,您可以将该结果重新路由回子活动。只需通过 获取当前活动getLocalActivityManager().getCurrentActivity()。我的子活动继承自自定义活动,因此我handleActivityResult(requestCode, resultCode, data)在该子类中添加了一个以供ActivityGroup调用。
于 2010-12-31T10:38:44.557 回答
4

In Your Parent Activity

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

So your childern activity's onActivityResult will run.

于 2013-02-24T00:55:37.693 回答