Activity杂记

这里仅记录Activity相关的知识点和踩坑经历。

FLAG_ACTIVITY_NEW_TASK标志位

通过非Activity的Context调用startActivity时,需要在Intent里面加上FLAG_ACTIVITY_NEW_TASK标志位,不然就抛出以下异常:

1
2
Caused by: Android.util.AndroidRuntimeException:
Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

onActivityResult

ActivityA通过startActivityForResult启动LaunchMode为SingleTask or SingleInstance的ActivityB时。在5.0之前的系统上,onActivityResult方法会立即被调用,而不是正常情况下,等到ActivityB关闭时,再回调ActivityA的onActivityResult方法,可参考这里