我的应用程序有问题。当用户单击“退出”时,我真的需要杀死它。我已经尝试了问题标题中列出的两种方法,问题是:我有一个持久(前台)服务正在执行工作,所以我的应用程序有一个托盘图标。当用户通过此图标切换到我的应用程序然后按“退出”时 - 该应用程序被终止,但 Android 立即重新启动它。如果用户使用任何其他方法(不是服务图标)切换回应用程序 - 退出时不会重新启动应用程序。
那么,什么是可靠的查杀应用程序呢?
PS 应用程序中总是只有一个活动,如果这很重要的话。
我的应用程序有问题。当用户单击“退出”时,我真的需要杀死它。我已经尝试了问题标题中列出的两种方法,问题是:我有一个持久(前台)服务正在执行工作,所以我的应用程序有一个托盘图标。当用户通过此图标切换到我的应用程序然后按“退出”时 - 该应用程序被终止,但 Android 立即重新启动它。如果用户使用任何其他方法(不是服务图标)切换回应用程序 - 退出时不会重新启动应用程序。
那么,什么是可靠的查杀应用程序呢?
PS 应用程序中总是只有一个活动,如果这很重要的话。
只为一个Activity
,我选择finish()
。
您可以使用以下意图退出您的活动
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
并在调用此意图之前调用 finish()。
我找到了解决我的问题的方法。如果我将我的活动移动到后台,moveTaskToBack(true);
然后终止该进程,它不会重新启动。