在非Activity的环境中的调用startActivity()报错
06-28 11:24:40.359: E/AndroidRuntime(7397): android.util.AndroidRuntimeException:== Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?==
06-28 11:24:40.359: E/AndroidRuntime(7397): at android.app.ContextImpl.startActivity(ContextImpl.java:617)
06-28 11:24:40.359: E/AndroidRuntime(7397): at android.content.ContextWrapper.startActivity(ContextWrapper.java:258)
06-28 11:24:40.359: E/AndroidRuntime(7397): at
这个保存的解决办法是:intent.addFlags(FLAG_ACTIVITY_NEW_TASK);
原因:自我总结:大神发现不足之处请不吝指点,勿喷哈!!!!
Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。而Activity在Mainfest.xml文件中已经配置了栈的方式,也就是说已经加入了栈,所以在startActivity时直接就可以进栈出栈,然而,在非Activity的类中没有添加栈的方式,所以在startActivity时会出找不到栈的情况,那句需要添加代码就是在告诉环境给创建个栈。