关于运行时异常: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()方法。

你可能感兴趣的:(android,异常和Error)