文档章节

遇到Android onActivityResult()不执行的问题

NCThinker
 NCThinker
发布于 2014/04/07 15:00
字数 314
阅读 564
收藏 3

      以前在使用startActivityForResult()的时候,一直都非常顺利,今天却发现出现了一个奇怪的情况。

      问题描述如下:

      1、我在执行完startActivityForResult()函数后,还没有启动目标Activity,当前activity中的onActivityResult()方法却先执行了。

      2、我在执行完目标Activity,返回的时候,却发现onActivityResult()方法不执行。

      就那么几行代码,找了好久没有找到原因。经过搜索一番,发现问题出在Activity的launchMode上。经过测试发现原来在调用startActivityForResult的时候,目标Activity的启动模式只能是launchMode="standard" 和 “singleTop”模式,不能是其他2种模式。

去查看android文档,发现有如下描述:

Note that this method should only be used with Intent protocols that are defined to return a result. In other protocols (such asACTION_MAINorACTION_VIEW), you may not get the result when you expect. For example, if the activity you are launching uses the singleTask launch mode, it will not run in your task and thus you will immediately receive a cancel result.

我们在使用singleTask或者singleInstance的时候,会新起一个task,这个时候我们在返回的时候就会返回一个cancel结果。同时从Locat中会看到如下警告:

Activity is launching as a new task, so cancelling activity result.

 

© 著作权归作者所有

共有 人打赏支持
NCThinker

NCThinker

粉丝 18
博文 14
码字总数 6074
作品 0
深圳
程序员
私信 提问
加载中

评论(1)

keien411
keien411
怎么解决
Activity经典实例二:启动其他Activity并返回结果

概述: 如果启动另一个Activity,并且希望返回结果给当前的Activity,那么可使用startActivityForResult()方法,在这种情况下,也是通过Bundle来进行数据交换的。 为了获取到被启动的Activit...

Xushao
2012/09/06
0
0
android中onActivityResult不执行

问题是这样的,当前Activity中有一个onActivityResult(int requestCode, int resultCode, Intent data)方法用来接收 Intent intent = new Intent(Intent.ACTION_PICK, android.provider.Medi......

swanfly
2012/09/26
6.8K
3
从第一个Activity的onActivityResult()方法里面获取参数后启动Activity B,B执行完识别功能后会在onActivityResult()方法里面返回参数,怎么把这个参数传递给第一个Activity

从第一个Activity的onActivityResult()方法里面获取参数后启动Activity B,B执行完识别功能后会在onActivityResult()方法里面返回参数,怎么把这个参数传递给第一个Activity。 我在第一个Act...

YumBrandon
2015/05/11
783
1
Tabhost中子Activity使用startActivityForResult后获取不到回调值问

最近一段时间没有更新博客了,是因为一直忙于一个Android的项目,给某企业做一款基于北斗定位的物流车载终端。这个项目的难点在于平板的通信方式不是采用传统使用自带的通信模块,而是使用串...

zhouw
2014/03/31
0
0
View not attached to window manager

今天在写程序中遇到如下问题,如此怪异,在网上找了很多,终于解决了问题: java.lang.IllegalArgumentException: View not attached to window manager 解决方法: 在调用系统相机拍照相片后...

刘遇安
2013/08/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mac java多版本控制

vim ~/.bash_profile ORACLE_JAVA_6_HOME="/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home"ORACLE_JAVA_7_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents......

晨猫
12分钟前
1
0
[转载]Qlist的用法

QList是一种表示链表的模板类。 QList是Qt的一种泛型容器类。它以链表方式存储一组值,并能对这组数据进行快速索引,还提供了快速插入和删除等操作。 QList、QLinkedList和QVector提供的操作...

shzwork
12分钟前
0
0
谷歌的JavaScript编写风格中 13点值得我们注意的!

  对于那些还不熟悉JavaScript的编写风格的人,谷歌提供了编写JavaScript的编写风格指南,谷歌风格指南 其中列出了编写干净、可理解代码的最佳风格实践。   对于编写有效的JavaScript来说...

peakedness丶
26分钟前
3
0
Spring Boot2中配置HTTPS

1.生成证书 使用jdk,jre中的keytool.exe生成自签名的证书,需要配置JAVA_HOME和path环境变量,即jdk的环境变量。命令如下: keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA ...

voole
33分钟前
4
0
Spring Cloud Alibaba 新版本发布:众多期待内容整合打包加入!

在Nacos 1.0.0 Release之后,Spring Cloud Alibaba也终于发布了最新的版本。该版本距离上一次发布,过去了整整4个月!下面就随我一起看看,这个大家期待已久的版本都有哪些内容值得我们关注。...

程序猿DD
36分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部