標題: start Activity的requires new task異常解 [打印本頁] 作者: reggae 時間: 2013-8-29 15:24 標題: start Activity的requires new task異常解 很多人使用start Activity時候,會碰到如下的異常:
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?
我曾經(jīng)也遇到過,不過后來研究了一下之后,明白了原理,記下來,以為碰到同樣困擾的兄弟們解惑。
都知道,Context中有一個startActivity方法,Activity繼承自Context,重載了startActivity方法。如果使用Activity的startActivity方法,不會有任何限制,而如果使用Context的startActivity方法的話,就需要開啟一個新的task,遇到上面那個異常的,都是因為使用了Context的startActivity方法。解決辦法是,加一個flag。 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
這樣就可以在新的task里面啟動這個Activity了。