假如我们用ApplicationContext去启动一个LaunchMode为standard的Activity的时间会报错:
android.util.AndroidRuntimeException: Calling startActivity from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
这是由于非Activity范例的Context并没有所谓的任务栈,以是待启动的Activity就找不到栈了。解决这个题目的方法就是为待启动的Activity指定FLAG_ACTIVITY_NEW_TASK标记位,如许启动的时间就为它创建一个新的任务栈,而此时Activity是以singleTask模式启动的。全部这种用Application启动Activity的方式都不保举,Service同Application。