在android中,如何使用注销按钮关闭整个应用程序

在android中,如何使用注销按钮关闭整个应用程序,android,Android,我有活动A、B和C,我从A->C->B->在最后一个活动中,我有一个注销按钮,点击它,如何用所有以前的活动及其堆栈完成整个应用程序。试试这个 Intent intent = new Intent(MainActivity.this, LoginActivity.class) .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); finish(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addF

我有活动A、B和C,我从A->C->B->在最后一个活动中,我有一个注销按钮,点击它,如何用所有以前的活动及其堆栈完成整个应用程序。

试试这个

Intent intent = new Intent(MainActivity.this, LoginActivity.class)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
如果您有会话,请在调用您的意图之前清除会话。

试试这个

Intent intent = new Intent(MainActivity.this, LoginActivity.class)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);

如果您有会话,请在调用意图之前清除会话。

答案很简单,您必须
完成()
所有活动的
意图。

因此,要么确保您当时只打开了一个意图,要么在最终活动中完成多个意图。答案很简单,您必须
finish()
完成所有活动的
意图。
因此,要么确保您当时只打开一个意图,要么在最终活动中完成多个意图

最佳解决方案是:

getActivity().finish();
System.exit(0);
看看这个问题:

而且:

上面写着:

但是Android可以在你感觉到的任何时候彻底摧毁你的应用程序 这对所有现代OSs来说都是正确的

因此,我认为这不是一个好办法。

最好的解决方案是:

getActivity().finish();
System.exit(0);
this.finish();
System.exit(0);
看看这个问题:

而且:

上面写着:

但是Android可以在你感觉到的任何时候彻底摧毁你的应用程序 喜欢它”。。所有现代操作系统都是如此


因此,我认为这不是一个好方法。

检查这个,只需调用
Intent startMain=newintent(Intent.ACTION\u MAIN);startMain.addFlags(意图、标志、活动、清除、顶部);startMain.addFlags(意图、标志、活动、否、历史记录);startMain.addFlags(意向、标志、活动、单个、顶部);startMain.addCategory(Intent.CATEGORY\u HOME);startMain.setFlags(意图、标志、活动、新任务);星触觉(startMain)选中此复选框,只需调用
Intent startMain=newintent(Intent.ACTION\u MAIN);startMain.addFlags(意图、标志、活动、清除、顶部);startMain.addFlags(意图、标志、活动、否、历史记录);startMain.addFlags(意向、标志、活动、单个、顶部);startMain.addCategory(Intent.CATEGORY\u HOME);startMain.setFlags(意图、标志、活动、新任务);星触觉(startMain)
finish()
将关闭一个
活动
,但肯定不会肯定地关闭整个应用程序-请参阅:嗯,我不知道。但是引用的SO似乎是这个问题的一个很好的答案
将关闭一个
活动
,但肯定不会肯定地关闭整个应用程序-请参阅:嗯,我不知道。但是引用的SO似乎是这个问题的一个很好的答案。是的,从Commonware中也可以看到这个答案:正如你所看到的,这将(从
MainActivity
)转到
LoginActivity
,但是,有了这些标志:
FLAG\u ACTIVITY\u CLEAR\u TOP
或诸如此类,对于
活动
,不适用于
应用程序
。您还需要传递两个以上的标志来帮助您解决问题。是的,但请参阅:
标志活动新任务
标志活动清除任务
这适用于您使用
完成()完成的活动
的意思是,类似于重新启动
活动
而不是
应用程序
。请看标题:如何使用注销按钮关闭整个应用程序。您可以看到,这将(从
MainActivity
)转到
LoginActivity
,但是,使用这些标志:
标志活动_CLEAR_TOP
等,对于
活动
,而不是
应用程序
。您还需要传递两个以上的标志以帮助您。是的,但请参阅:
标志活动(新任务)
标志活动(清除)任务
这是针对使用
完成()完成的活动的
的意思是重新启动
活动
而不是
应用程序
。请看标题:如何使用注销按钮关闭整个应用程序
this.finish();
System.exit(0);