我有一个要求,我可以从应用程序中的任何活动按下注销按钮,就是当我按下注销按钮时,我需要获取login
屏幕而不显示以前的活动。我正在使用:
intent.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP )
我正在开始这样的活动:
public void onClick(View v) {
try
{
Intent intent = new Intent(getContext(), Login.class);
v.getRootView().getContext().startActivity(intent);
intent.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP );
removeSessionFiles();
//startActivity (new Intent(getApplicationContext(), Activity1.class));
}
catch (Exception e)
{
String str = e.toString();
}
}
当我按下login
按钮时,我转到logout
屏幕,但是当我按下设备上的back
按钮时,它会显示之前的活动 - 我应该转到Android我在login
屏幕中按后退按钮时的主屏幕。请问您能为此提出解决方案吗?
答案 0 :(得分:1)
正如dinash上面说的那样,应该在活动开始之前设置标志...在开始活动之后设置标志的重点是......代码看起来应该是这样的,
Intent intent = new Intent(getContext(), Login.class);
intent.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP );
v.getRootView().getContext().startActivity(intent);
removeSessionFiles();
答案 1 :(得分:0)
ho man只是把标志设置线放在startactivity线之前......这将解决你的问题......
希望这会有所帮助......
答案 2 :(得分:0)
setFlags将解决您的问题
public void onClick(View v) {
try {
Intent intent = new Intent(getContext(), Login.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP );
v.getRootView().getContext().startActivity(intent);
removeSessionFiles();
} catch (Exception e) {
String str = e.toString();
}
}