當我們在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()方法。