关于onActivtyResult方法的data形参返回null或未被调用的问题

通常情况下当Activity1使用startActivityForResult方法跳转到Activity2后,再从Activity2回到Activity1时会调用Activity1的onActivityResult的方法,并能从该方法的data参数中获取到需要从Activity2里传回的值。
但又时会出现data为null的情况,出现这种情况的原因大致和Activity的启动模式有关,


当Activity2的launchMode="singleTop"时返回至Activity1时onActivityResult的data参数必然是null。
当Activity2的launchMode="singleTask"或"singleInstance"时从Activity1跳转到Activity2时会调用Activity1的onActivityResult方法,此时该方法的data参数为null。而从Activity2返回至Activity1时则不会调用onActivityResult方法。


因此为了能正常的使用onActivityResult方法,Activity2的启动模式必须为standard,其他三种模式都会导致data形参数为空或方法未被调用的情况发现。

你可能感兴趣的:(关于onActivtyResult方法的data形参返回null或未被调用的问题)