当用户按下不主要活动(即启动器活动)的活动时,我需要关闭我的应用程序。到目前为止,我所看到的答案实际上适用于应用程序的主要活动(即启动器活动)
答案 0 :(得分:3)
您可以使用
@Override
public void onBackPressed() {
<YourActivity>.this.finishAffinity();
}
答案 1 :(得分:0)
您可以在使用标志打开活动时清除后台堆栈:
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
答案 2 :(得分:0)
您可以使用此
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);