我想清除之前的所有活动堆栈并启动新活动。但是当我按回键控制转到之前的活动。我没有完成以前的所有活动。当我退出时,我想退出应用程序。 我使用下面的标志:
intentLogin.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intentLogin.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intentLogin.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
intentLogin.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
并在AndroidManifest.xml中添加以下行
android:launchMode="singleInstance"
但是在启动新活动之前会出现白屏。
我也将主题更改为Translucent但在启动活动时,但它显示了android主页图标。
我不想使用:
moveTaskToBack(true);
答案 0 :(得分:0)
只需在intent中设置此标志,
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
答案 1 :(得分:0)
我希望这会对你有所帮助
logoutButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
SharedPreferences myPrefs = getSharedPreferences("Activity",
MODE_PRIVATE);
/*AppState.getSingleInstance().setLoggingOut(true);*/
setLoginState(true);
Log.d(TAG, "log out and go to first activity");
Intent intent = new Intent(HomePage.this,
LoginPage.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
/* intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TASK);*/
startActivity(intent);
finish() // finish this activity
}
});