Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? - xiaoniudonghe2015/Android-Java-Code-Style GitHub Wiki

1.错误log

09-18 15:48:49.105 E/AndroidRuntime( 3585): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

2.发生原因

activity继承了context重载了startActivity方法,如果使用acitvity中的startActivity,不会有任何限制。 而如果(非Activity中)直接使用context的startActivity则会报上面的错误,而且跟系统版本有关系

3.解决办法

解决办法: intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);