我该如何确定何时关闭Android?
我可以将功能放入已经作为root运行的C 守护程序中,也可以将功能放入无特点的Java应用程序中。
我可以区分关闭与重新启动吗?(我只关心关闭,重新启动时不得获得假阳性。(
带有广播接收器:
@Override public void onReceive(Context context, Intent intent) {
if (ACTION_SHUTDOWN.equals(intent.getAction()) || QUICKBOOT_POWEROFF.equals(intent.getAction())) {
// Do something..
}
}
将意图过滤器应用于您的清单,称为广播接收器,以收听两个动作:
<action android:name="android.intent.action.ACTION_SHUTDOWN"/>
<action android:name="android.intent.action.QUICKBOOT_POWEROFF"/>
在initrc中触发您的C服务:
-
通过属性触发:
在属性上:sys.shutdown.requested =*
停止CNSS-DAEMON -
通过关闭关键
触发
shutdown <shutdown_behavior>
设置服务过程的关闭行为。当未指定此时, 通过使用Sigterm和Sigkill,该服务在关闭过程中被杀死。 与"关键"的关闭_BEHAVIOR的服务不会在关闭期间被杀死 直到关闭时间为止。关闭时间时,甚至标记为 "关闭关键"将被杀死。当服务标记为"关闭关键"时 关闭开始时没有运行,它将开始启动。