当用户从非主要活动(即启动器活动)按下后退按钮时,我需要关闭我的应用程序。到目前为止,我看到的答案实际上适用于应用程序的主要活动(即启动器活动)
您可以使用
@Override
public void onBackPressed() {
<YourActivity>.this.finishAffinity();
}
您可以在使用标志打开活动时清除后退堆栈:
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
当你回去时,你的应用就会完成。
或者可能是尝试打开相同的活动,但清除后堆栈并同时完成它。(未测试)
Intent intent = new Intent(this, YourCurrentActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish(); // call this to finish the current activity
你可以使用这个
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);