是否可以通过服务自身的一种方法来检测服务何时停止或销毁?例如 onDestroy() (当前未工作)
我需要的是从服务内部检测设备何时重新启动或关闭。
最佳答案
您可以创建一个 BroadcastReceiver 来监听 ACTION_SHUTDOWN
和 QUICKBOOT_POWEROFF
Intent :
<receiver android:name=".PowerOffReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_SHUTDOWN" />
<action android:name="android.intent.action.QUICKBOOT_POWEROFF" />
</intent-filter>
</receiver>
相反,您可以在手机重新打开时监听 BOOT_COMPLETED
Intent :
<receiver android:name=".PowerOnReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
请记住,后者要求用户首先解锁设备。在较新的 API 中,您可以监听 LOCKED_BOOT_COMPLETED
,这将允许您在设备解锁之前启动服务或执行任何您需要的操作。
关于android - 从服务内部检测系统重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51294996/