Android 上 BOOT_COMPLETED 和 QUICKBOOT_POWERON 之间的区别

问题描述 投票:0回答:2

我创建了 BroadcastReceiver 来安排我的服务每 30 秒执行一次。这就是我在 AndroidManifest.xml 中的内容:

<receiver android:name="MyScheduleReceiver" >
     <intent-filter>
          <action android:name="android.intent.action.BOOT_COMPLETED" />
          <action android:name="android.intent.action.QUICKBOOT_POWERON" />
     </intent-filter>
</receiver>

现在效果很好,但只有在我添加了 QUICKBOOT_POWERON 操作之后。在此之前,我只有 BOOT_COMPLETED,当我在调试时重新启动模拟器或手机时,我的服务将永远不会启动。所以我的问题是这两者之间有什么区别以及何时使用它们?

android service broadcastreceiver
2个回答
28
投票
“冷”启动后收到

Intent

android.intent.action.BOOT_COMPLETED

“重新启动”或“重新启动”后收到

android.intent.action.QUICKBOOT_POWERON
意图。

检查这里


0
投票

这仅在 HTC 设备上需要,以支持其“快速启动”功能

<action android:name="android.intent.action.QUICKBOOT_POWERON" />

这里是来自官方代码的完整代码 https://android.googlesource.com/platform/packages/apps/StorageManager/+/refs/tags/android-7.1.2_r8/AndroidManifest.xml

<receiver android:name=".automatic.AutomaticStorageBroadcastReceiver"
                      android:enabled="@bool/enable_automatic_storage_management">
                <intent-filter>
                    <action android:name="android.intent.action.BOOT_COMPLETED" />
                    <!-- This is required on HTC devices to support their "quickboot" feature -->
                    <action android:name="android.intent.action.QUICKBOOT_POWERON" />
                </intent-filter>
            </receiver>
enter code here
© www.soinside.com 2019 - 2024. All rights reserved.