缺少新的栈标识:报出异常FLAG_ACTIVITY_NEW_TASK flag-是由于activity关闭之后开启一个新的acitivity时没有标识在栈中,所以需要给一个栈标识

时间:2021-10-28 20:12:26

异常(栈里必须有activity的flag标识):

05-02 08:43:36.173: E/AndroidRuntime(3328): 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 intent = new Intent(getApplicationContext(), BackgroundActivity.class);
// 如果当前activity关闭了,现在栈里没有了activity,由服务中去开启一个新的activity时需要给其创建一个新的标识
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);