關於運行時異常:Calling startActivity() from outside of an Activity

當我們在Adapter或者其他地方(如Service、BroadCastReceiver、Widget等)中使用startActivity(),會報一個異常:                               android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the  FLAG_ACTIVITY_NEW_TASK flag.

解決辦法:這時需要爲Intent設置一個Flag:FLAG_ACTIVITY_NEW_TASK

具體操作:Intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 這樣就不會報錯了,可以順利的startActivity()。

在Activity中使用startActivity()的方法不會有任何限制,是因爲Activity重載了Context的startActivity()方法。

發佈了25 篇原創文章 · 獲贊 25 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章