不少人使用startActivity時候,會碰到以下的異常:android
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?ide
都知道,Context中有一個startActivity方法,Activity繼承自Context,重載了startActivity方法。若是使用Activity的startActivity方法,不會有任何限制,而若是使用Context的startActivity方法的話,就須要開啓一個新的task,遇到上面那個異常的,都是由於使用了Context的startActivity方法。解決辦法是,加一個flag。ui
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); spa
這樣就能夠再新的task裏面啓動這個Activity了。繼承