標(biāo)題: Android--context.startActivity(intent);異常退出的問(wèn)題 [打印本頁(yè)]
作者: 51黑bing 時(shí)間: 2016-3-22 21:58
標(biāo)題: Android--context.startActivity(intent);異常退出的問(wèn)題
直接context.startActivity(intent),程序異常退出。
報(bào)錯(cuò)如下:
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?
Context中有一個(gè)startActivity方法,Activity繼承自Context,重載了startActivity方法。如果使用 Activity的startActivity方法,不會(huì)有任何限制,而如果使用Context的startActivity方法的話,就需要開(kāi)啟一個(gè)新 的task,遇到上面那個(gè)異常的,都是因?yàn)槭褂昧薈ontext的startActivity方法。
解決辦法是,加一個(gè)flag。
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
以下為Context源碼中的startActivity:
public abstract void startActivity(Intent intent);
以上解釋了為什么使用Context的startActivity方法(比如在Service中或者BroadcastReceiver中啟動(dòng)Activity)為什么需要添加flag:FLAG_ACTIVITY_NEW_TASK
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |