android - 使用退出代码终止我的应用程序时出现问题
问题描述
在我的应用程序运行并完成其工作后,我希望它终止并将退出代码返回给操作系统。这可以使用以下方法完成:
System.exit(exitCode)
唯一的问题是 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);
推荐阅读
- java - 根据年份和年份开始日期显示日历月(Java)
- java - 如何在 Spring mvc 中使用 model.Attribute()?
- azure - Azure APIM Validate JWT based on two different claims
- java - 在 Eclipse IDE 中更改数字的颜色
- android - 我可以使用多个 viewpager2 适配器来膨胀 viewpager2 内的多个片段吗?
- python - 逐行更新熊猫df列
- android - Dart / Flutter Json 解析问题
- react-native - 反应本机导航屏幕不会重新渲染
- azure-application-insights - AppInsights 分析查询在单个结果表中显示通过、失败和响应时间
- python - 如何将列表的元素写入mysql?