关于OnActivityResult不会执行的问题

2017-5-4,我在执行测试操作的时候,发现了一个问题:红米Note1的手机android4.4不能获取到图库中所选的图片,而华为荣耀4X畅玩版android5.0.1和三星5 android6.0,以及android7.0的手机都可以获取到,启动模拟器测试,结果也是一样的。最终的解决方案如下:

我们假设问题是这样的:ActivityA需要从ActivityB里面获取一些东西,那么你可以使用BroadcastReceiver、EventBus或者别的工具,但是最简单的是在ActivityA中使用StartActivityForResult和OnActivityResult,以及在ActivityB里面执行SetResult和finish两个方法。

在android4.4(包括api19)以下的手机里面,如果需要正常执行,那么ActivityB的LaunchMode不能设置为singleTask、singleInstance、singleTop,只能设置为standard,否则ActivityA以及ActivityA中的Fragment不会执行OnActivityResult方法,但是ActivityA的LaunchMode可以随意设置。

在android4.4(不包括api19)以上的手机里面,那么ActivityB的LaunchMode可以随意设置,ActivityA的LaunchMode也可以随意设置,此时ActivityA以及ActivityA中的Fragment都会执行OnActivityResult方法。

你可能感兴趣的:(关于OnActivityResult不会执行的问题)