错误FLAG_ACTIVITY_NEW_TASK标志

时间:2018-05-02 00:03:33

标签: java android android-activity

您好我尝试构建一个应用程序,但是当我退出应用程序时出现下一个错误,我的应用程序使用登录用户,但是当按logout向我显示时:

错误

android.util.AndroidRuntimeException: Calling startActivity() from 
outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK
flag. Is this really what you want?

退出代码

public void logout() {
   SharedPreferences sharedPreferences = mCtx.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE);
   SharedPreferences.Editor editor = sharedPreferences.edit();
   editor.clear();
   editor.apply();
   mCtx.startActivity(new Intent(mCtx, LoginActivity.class));
}

1 个答案:

答案 0 :(得分:0)

这是因为您尝试使用mCtx启动活动,这是一个非活动的上下文。您需要使用logout方法所在的Activity,如下所示:

public void logout() {
  ...
  startActivity(new Intent(this, LoginActivity.class));
  // or use YourActivity.this instead of this
}