首页 > 解决方案 > 使用退出代码终止我的应用程序时出现问题

问题描述

在我的应用程序运行并完成其工作后,我希望它终止并将退出代码返回给操作系统。这可以使用以下方法完成:

System.exit(exitCode)

唯一的问题是 Android 将在应用程序终止后再次尝试重新启动它。我想避免这种情况。我想用退出代码终止应用程序的原因是允许持续集成测试,这将允许外部应用程序确定应用程序是成功还是失败。

如何使用退出代码终止应用程序但阻止它重新启动?

标签: android

解决方案


如何使用退出代码终止应用程序但阻止它重新启动?

您可以尝试使用finishAndRemoveTask(). 在 API 级别 21 中添加

完成此任务中的所有活动并将其从最近的任务列表中删除。

对于 API 级别 19,您可以使用finishAffinity()

在当前任务中完成此活动以及紧接其下的所有具有相同亲和力的活动。这通常在应用程序可以启动到另一个任务时使用(例如从它理解的内容类型的 ACTION_VIEW)并且用户已经使用向上导航切换出当前任务并进入它自己的任务。在这种情况下,如果用户向下导航到第二个应用程序的任何其他活动,则所有这些活动都应作为任务切换的一部分从原始任务中删除。

另一种简单的方法

Intent intOBJ = new Intent(Intent.ACTION_MAIN);
intOBJ.addCategory( Intent.CATEGORY_HOME );
intOBJ.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
startActivity(intOBJ); 

推荐阅读