我希望在用户导航到另一个活动后清除后台堆栈中的调用活动(以便用户无法返回该活动)。我看到了其他问题,发现我可能需要使用FLAG_ACTIVITY_NEW_TASK,这看似合乎逻辑,但不知何故它不起作用。
我没有得到什么?我需要做些什么改变? 问候。
这是代码
public void silentLogin(String username,String password)
{
user = dbHelper.getUser(username,password);
if(user!=null) {
Intent intent = new Intent(this,MainActivity.class);
intent.putExtra("USER_OBJECT",user);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
Log.d("Info","Performing silent login now...");
startActivity(intent);
}
else
{
Toast.makeText(this,"not registered",Toast.LENGTH_LONG).show();
}
}
答案 0 :(得分:1)
使用
Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK
答案 1 :(得分:1)
要从Backstack中删除调用活动,只需在启动新活动后调用finish()。完成的活动不在后台。