问题现象描述:
Activity P1通过startActivityForResult的方式启动Activity P2,此时,期望应该在P2 finish的后onActivityResult才应该被调用到。而实际结果是:startActivityForResult执行后,onActivityResult也立即会被执行到。
仔细分析其原因,此问题的原因与Activity P2在AndroidManifest.xml文件中配置的launchMode有关系。
当android:launchMode="singleTask"的时候则会出现此问题,而配置会其他三种,则不会有这个问题的出现。
在android:launchModel="singleTask"的情况下,如果P1中必须要在onActivityResult执行一些操作,可以考虑在P2进行back操作或者是finish操作的时候,通过发送一些Broadcast消息到P1中进行必要的处理。
相关推荐
Android之Intent通过startActivityForResult方法启动新Activity
3个方法的介绍和使用 startActivityForResult(Intent intent, int requestCode ) onActivityResult(int requestCode ,int resultCode, Intent data) setResult(int resultCode,intent intent)
基于RxPermissions框架思想,在使用startActivityForResult可以不重写onActivityResult回调
当我们调用startActivityForResult()方法来跳转页面的时候需要重写onActivityResult方法,不然就和startActivity没什么两样,这个demo就是简单说明调用时间。流程如下:MainActivity::onCreate MainActivity::...
定义了4个Activity,主activity跳转到其他2个时附带String good,第二个在接收到数据后将String +"boy"后返回给主Activity并Toast;第三个在接收到数据后将String +"boy&girl"后返回给主Activity并Toast。第4个采用...
singleTask和startActivityForResult的纠葛(activity的重建/onActivityResult回调为0) 问题验证: 1.startActivityForResult打开singleTask模式的活动,singTask失效。(见Action2) 2.singleTask模式的活动...
使用StartActivityForResult进行Activity跳转传值的小例子
使用startActivityForResult回传数据
在Activity的四种不同的启动模式下,对于startActivityForResult方法的影响。什么时候可以收到回传数据。
这里实现的效果是,点击a Activity后,屏幕会跳转到手机的通讯录,任意选择点击一个通讯录中的联系人,则从通讯录Activity跳回到a Activity并在a Activity上显示你刚才选择通讯录联系人的名字。
介绍了StartActivityForResult的运用,并总结了一些问题及答案,可供初学者参考,代码无误,放心运行!
Activity启动,catogory action的使用,以及使用startActivityForResult启动的一些问题。
startActivityForResult过时.md
而且要从Activity中返回数据,虽然返回数据和传递数据类似,也可以采用前面4种方法,但是一般建议采用Intent对象的方式来返回数据,使用这种方式返回数据,需要使用startActivityForResult方法来显示Activity ...
怎么使用startActivityForResult()呢,startActivityForResult()需要一个int类型的请求码,这个请求码会随着Activity A的跳转而带过去,而跳转过去的Activity B finish()的时候,我们需要使用setResult()来设置一个...
Fragment也可以使用startActivityForResult方法去打开一个Activity,然后在其onActivityResult方法中处理结果,可是当Fragment嵌套的时候,由于FragmentActivity的BUG导致只会回调最外那层Fragment的...
startActivityForResult使用方式,代码比较简单
2、启动activity-显示启动和隐式启动: 3、隐式启动自己的activity 4、获取隐启动传递过来的data数据 5、显示启动传递数据 6、禁用掉横竖屏切换 7、开启activity获取返回值-startActivityForResult:
Activity跳转之startActivityForResult