首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Activity android:launchMode="singleInstance" 与 startActivityForResult解

2013-01-11 
Activity android:launchModesingleInstance 与 startActivityForResult有一个Activity,叫A,在这个Acti

Activity android:launchMode="singleInstance" 与 startActivityForResult
有一个Activity,叫A,在这个Activity种请求其他页面叫做BActivity里的内容,所有发了个Intent: startActivityForResult

已经调好的程序,后来在不经意间,把A设置了个单实例android:launchMode="singleInstance"

之后 startActivityForResult就再也不好用了。

通过log可以看到, intent发出以后,3ms时间就会在A的onActivitResult中收到返回消息。当然返回的消息是不正确的啦。

去掉A的单实例,就好了。

请问,这是为什么呢,单实例为啥会影响到startActivityForResult工作不正常了呢。
我的android系统是4.2
[解决办法]
当你把Aactivity设置成“singleInstance"模式以后,该activity就会有一个独享的任务栈,当它一旦被创建就不会重新创建,当它启动Bactivity后,Bactivity可能需要返回给Aactivity,但是此时Aactivity不会重新创建,不会执行回调,所以不好用了。

热点排行