java - 检查 BOOT_COMPLETED 是否已经在 Android 上触发

标签 java android android-intent

我有一个处理多个事件的广播接收器。我需要它在启动时为我做一些特殊的事情,所以我注册了 android.intent.action.BOOT_COMPLETED Intent ,它工作正常。如果设备已插入并正在充电,则 android.intent.action.ACTION_POWER_CONNECTED Intent 会在 BOOT_COMPLETED 之前触发,并且在它应该做的事情之前就开始工作。 (我正在使用 BOOT_COMPLETED 作为一种初始化程序)。

有没有一种方法可以检查 BOOT_COMPLETED 事件是否已触发,以便我可以在某些事件过早触发的情况下运行我的初始化代码?

最佳答案

BOOT_COMPLETED 被触发时,您需要在您的 SharedPreferences 中设置一个标志 为“true”。

因此,现在如果您的 ACTION_POWER_CONNECTEDBOOT_COMPLETED 之前被触发,那么您需要从 SharedPreferences 检查标志的值。

如果该值仍然为 false,则表示 BOOT_COMPLETED 广播尚未触发,您不应执行操作。

注意 - 还记得每次都重置 SharedPreferences 中的标志

关于java - 检查 BOOT_COMPLETED 是否已经在 Android 上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42490228/

相关文章:

java - 使用@Reference获取服务导致maven构建警告

android - 在android上强制覆盖相机图像

java - 使用 convertView 和自定义数据 listView 时出现 NullPointerException

android - 获取包括操作栏的窗口 View ?

android - 如何检测是否拍摄了照片(相机 Intent )

java - Reactjs推荐的部署方式

java - jButton 在更改文本标签时调整大小

android - 为什么在 Intent 重定向代码之后执行代码?

android - 共享首选项不能在 android 中与 intent 一起使用

java - AES加密解密无法正常工作--Android