Calling startActivity() from outside of an Activity
在Activity中使用startActivity()很简单,但是如果是在其他地方(如Widget或Service、BroadcastReceiver中)使用startActivity()方法,就会报错:
android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
这时就需要为Intent设置一个FLAG_ACTIVITY_NEW_TASK的flag:
Intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
这样就OK了

上图为打开wifi设置界面
在非Activity环境下,如Widget、Service或BroadcastReceiver中使用startActivity()会触发错误。解决方法是在Intent中添加FLAG_ACTIVITY_NEW_TASK标志。本文解析此问题并提供解决方案。
4040

被折叠的 条评论
为什么被折叠?



