Android完全强制退出应用程序
我有一个登录活动。登录后,将启动主活动,该活动使用片段进行用户导航。我希望在我的主要活动导航抽屉中有一个按钮,它将完全关闭应用程序 现在,我已经看到了很多关于这个的线程,并尝试实现它们的解决方案。例如: 我已在我的主要活动中尝试了Android完全强制退出应用程序,android,android-fragments,android-intent,android-activity,android-navigation,Android,Android Fragments,Android Intent,Android Activity,Android Navigation,我有一个登录活动。登录后,将启动主活动,该活动使用片段进行用户导航。我希望在我的主要活动导航抽屉中有一个按钮,它将完全关闭应用程序 现在,我已经看到了很多关于这个的线程,并尝试实现它们的解决方案。例如: 我已在我的主要活动中尝试了finishafinity(),这将关闭当前活动以及所有父活动 我已经尝试在登录活动中使用finish(),只要我调出主活动,然后在用户单击按钮时再次调用finish() 对于这个问题,投票率最高的答案是:,似乎也不起作用。首先,android:autoRemoveFr
finishafinity()
,这将关闭当前活动以及所有父活动
我已经尝试在登录活动中使用finish()
,只要我调出主活动,然后在用户单击按钮时再次调用finish()
对于这个问题,投票率最高的答案是:,似乎也不起作用。首先,android:autoRemoveFromRecents=“true”
需要API>21,但即使我将最低SDK版本设置为21,该应用程序仍保留在列表中
最后,我尝试在用户单击退出按钮并导航回登录活动时使用Intent,并使用exit extra设置标志,然后完成登录活动(即)
这些都不起作用。他们都将关闭主活动,甚至可能关闭登录活动。但如果用户单击应用程序列表/当前应用程序/打开应用程序键(大多数手机上的方形软键),应用程序仍然可见。当在该列表中单击应用程序时,它会将我带回到登录活动屏幕(我不确定这是否是从fresh启动应用程序,或者它是否只是将我带回到未关闭的上一个登录屏幕)
出于绝望,我甚至尝试了System.exit(0)
,我知道这很糟糕,但即使这样也不会从应用程序列表中删除该应用程序
那么,我如何以编程方式完全退出一个应用程序并删除它打开时的所有痕迹呢
编辑:我太仓促地要求下面的一个答案不起作用(见上面的斜体)。根据我的研究,答案确实正确删除了应用程序:
在安卓系统中,没有办法强制执行相当多的应用程序。您只能暂停活动。退出应用程序的自由裁量权完全取决于android框架,该框架检查应用程序的内存和资源利用率。我暂时找不到官方链接,但我早些时候读过 我想你在找
您可以考虑在您尝试退出应用程序时调用另一个名为“代码> EXITAcactivity < /Cord>”的活动。这里的诀窍是,
exitctivity
将manifest
文件中的android:autoRemoveFromRecents
设置为true
,这样您的实例将自动从recents中清除。由操作系统管理它。打开主屏幕
Intent意图=新意图(Intent.ACTION\u MAIN);
intent.addCategory(intent.CATEGORY_HOME);
intent.setFlags(intent.FLAG\u活动\u新任务);
星触觉(意向)代码>你不应该这么做。Android缓存应用程序进程,以便它们尽可能长时间地留在内存中,如果用户想再次使用该应用程序,则可以重复使用。应用程序开发人员应该预料到这种行为。的可能重复。另见。