从的ActivityGroup startActivityForResult? [英] startActivityForResult from ActivityGroup?

查看:127
本文介绍了从的ActivityGroup startActivityForResult?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我似乎无法当试图从一个的ActivityGroup开始活动得到任何结果。我已经把在活动和的ActivityGroup的onactivityresult?具体来说,我正在尝试让用户选择从Intent.ACTION_GET_CONTENT照片/视频,但我从来没有得到任何东西?我究竟做错了什么?

I can't seem to get ANY result when trying to start an activity from an activitygroup. I've put an onactivityresult in the activity and activitygroup? Specifically I'm trying to let the user choose a photo/video from the Intent.ACTION_GET_CONTENT, but I never get anything back? What am I doing wrong?

下面是我如何调用code:

Here is how I call the code:

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

任何想法?

Any ideas?

推荐答案

我有一个类似的问题。我有一个的ActivityGroup管理子活动。一个子活动的称为类似外部意图(外部给我的应用程序)。它从来没有叫onActivityResult的子活动启动它之内。

I've had a similar issue. I had an ActivityGroup managing sub-activities. One of the sub-activities called a similar external intent (external to my app). It never called the onActivityResult within the sub-activity that started it.

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

I finally figured out/remembered that the issue is because Android will only allow a nested layer of sub-activities...ie sub-activities can't nest sub-activitites. To solve this:

  1. 呼叫的getParent()。startActivityForResult()从子活动
  2. 您的父母(在的ActivityGroup)将能够处理的 onActivityResult 。因此,我创建的ActivityGroup 的子类,这样处理 onActivityResult
  3. 您可以重新路由结果返回给子活动,如果你需要。刚刚获得由当前活动getLocalActivityManager()。getCurrentActivity()。我的子活动从一个自定义活动继承,所以我增加了一个 handleActivityResult(要求code,因此code,数据)在该子类的的ActivityGroup 调用。
  1. call getParent().startActivityForResult() from your sub-activity
  2. your parent (the activitygroup) will be able to handle the onActivityResult. So I created a subclass of ActivityGroup and handled this onActivityResult.
  3. You can re-route that result back to the sub-activity if you need to. Just get the current activity by getLocalActivityManager().getCurrentActivity() . My sub-activities inherit from a custom activity so I added a handleActivityResult(requestCode, resultCode, data) in that subclass for the ActivityGroup to call.

这篇关于从的ActivityGroup startActivityForResult?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆