fragment acitivity onActivityResult不响应汇总
2015-06-12 00:49
459 查看
总结下网络上遇到的关于fragment , activity, onActivityResult不响应的情况:
第一种情况:
fragment.java 中
这种情况下fragmentActivity下的onActivityResult方法被调用。fragment中的onActivityResult不会被调用。
第二种情况:
fragment.java 中
?这种情况下fragmentActivity下的onActivityResult方法被调用,同时注意的是如果fragmentActivity下的onActivityResult方法调用了super.onActivityResult方法,fragment中的onActivityResult也会被调用。
第三种情况:
直到比较了一下AndroidManifest.xml文件,才发现我的工程多了一处属性:android:launchMode="singleInstance",去掉之后一切正常了,后来在google上发现也有同胞发现了类似的问题,他是多加了一句代码:intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);也会导致一样的结果,回过头来翻了翻开发指南,才恍然大悟,里面有句话是这么说的:一个“singleInstance”模式的activity将会是它所在的任务中唯一的activity。
如果它启动了别的activity,那个activity将会依据它自己的加载模式加载到其它的任务中去──如同在intent中设置了FLAG_ACTIVITY_NEW_TASK 标记一样的效果。是的,也就是说这两种情况下,新开启的Activity一定在新的任务(进程)中,和原来的Activity不在同一进程中,我想这应该就是onActivityResult函数表现异常的原因吧,看来自己还是基本功不够扎实啊。
第一种情况:
fragment.java 中
getActivity().startActivityForResult(intent,1001);
这种情况下fragmentActivity下的onActivityResult方法被调用。fragment中的onActivityResult不会被调用。
第二种情况:
fragment.java 中
startActivityForResult(intent,1001);
?这种情况下fragmentActivity下的onActivityResult方法被调用,同时注意的是如果fragmentActivity下的onActivityResult方法调用了super.onActivityResult方法,fragment中的onActivityResult也会被调用。
第三种情况:
直到比较了一下AndroidManifest.xml文件,才发现我的工程多了一处属性:android:launchMode="singleInstance",去掉之后一切正常了,后来在google上发现也有同胞发现了类似的问题,他是多加了一句代码:intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);也会导致一样的结果,回过头来翻了翻开发指南,才恍然大悟,里面有句话是这么说的:一个“singleInstance”模式的activity将会是它所在的任务中唯一的activity。
如果它启动了别的activity,那个activity将会依据它自己的加载模式加载到其它的任务中去──如同在intent中设置了FLAG_ACTIVITY_NEW_TASK 标记一样的效果。是的,也就是说这两种情况下,新开启的Activity一定在新的任务(进程)中,和原来的Activity不在同一进程中,我想这应该就是onActivityResult函数表现异常的原因吧,看来自己还是基本功不够扎实啊。
相关文章推荐
- op编译信赖的库
- VMware下Ubuntu14.04的静态IP设置
- Mac Error Create Android Project - “Errors running builder 'Android Resource Manager' on project”
- Manacher算法:求解最长回文字符串,时间复杂度为O(N)
- Cocos2d-X手游源码/iOS/Android/cocos2dx源码/AppStore/手游资源“集中营”
- 记使用WaitGroup时的一个错误
- 在Ubuntu 12.04中安装和配置vmware tools
- “Lc.exe已退出 代码为-1”的解决办法
- (自创)世界上最美丽浪漫的函数组合
- 如何解决Kerberos问题: "Server has invalid Kerberos principal: hdfs/host2@****.COM"
- ubuntu14.04 Markdown编辑器推荐之Remarkable
- Java第四次实验报告
- Android 5.0学习之使用Palette
- 实验五 cmp传输与加解密
- java实验五实验报告
- hdu 1171
- Difference between INNER and OUTER joins?
- 我的自白,白衣轩重开
- 线程优先级问题
- Arduino 入门程序示例之一片 LED(2015-06-11)