Android 是不是关心传递给 System.exit(...) 的退出状态代码?

Posted

技术标签:

【中文标题】Android 是不是关心传递给 System.exit(...) 的退出状态代码?【英文标题】:Does Android care about exit status code passed to System.exit(...)?Android 是否关心传递给 System.exit(...) 的退出状态代码? 【发布时间】:2015-07-25 10:48:22 【问题描述】:

如果我用 System.exit(...) 杀死一个 android 应用程序,我通过什么状态码有关系吗?我找不到任何文档说明 Android 是否只是忽略它,或者某些文档是否会导致任何错误消息或具有任何其他含义。

【问题讨论】:

【参考方案1】:

这是进程完成时返回的退出代码;然而,Android 并不关心,但知道错误代码永远不能高于 255。

这是标准退出代码列表 - 某些进程可能会使用自己的代码。

0    清洁出口 1    一般错误捕获 2    滥用 shell 内置函数 126  命令调用执行错误 127  找不到命令 128 退出参数无效? 130  由 Control-C 终止 255  退出状态未知

【讨论】:

+1,这些退出代码列在The Linux Documentation Project。【参考方案2】:

Android 不在乎,不。这是一个 java 的东西——你可以将它们用于你自己的调试等。

这是系统退出代码的示例:http://www.opensource.apple.com/source/Libc/Libc-320/include/sysexits.h

但是几乎,任何 > 0 都意味着它是异常退出。您可以将其设置为您想要的任何值,但除非您与其他事物交互,否则我只会坚持 0。

这似乎是公认的惯例。

【讨论】:

以上是关于Android 是不是关心传递给 System.exit(...) 的退出状态代码?的主要内容,如果未能解决你的问题,请参考以下文章

android中fragment的简单使用

将列表传递给 Android 中的另一个 Activity

Android:将变量传递给已经运行的服务

Android:将数据(附加)传递给片段

Android BroadcastReceiver详解

Android:将 AppWidgetId 传递给服务