我有一个处理多个事件的广播接收器。我需要它在启动时为我做一些特殊的事情,所以我注册了 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_CONNECTED
在 BOOT_COMPLETED
之前被触发,那么您需要从 SharedPreferences 检查标志的值。
如果该值仍然为 false,则表示 BOOT_COMPLETED 广播尚未触发,您不应执行操作。
注意 - 还记得每次都重置 SharedPreferences 中的标志。
关于java - 检查 BOOT_COMPLETED 是否已经在 Android 上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42490228/