我创建了一个应用程序,它使用以下过滤器在接收器中接收 BOOT_COMPLETED:
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
我在一个设备上收到了这个,但我有另一个设备没有收到这个,尽管使用了相同的 APK。哪些特定于设备的问题可能会阻止特定设备接收此意图?有没有办法对此进行测试并创建补救措施?
我创建了一个应用程序,它使用以下过滤器在接收器中接收 BOOT_COMPLETED:
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
我在一个设备上收到了这个,但我有另一个设备没有收到这个,尽管使用了相同的 APK。哪些特定于设备的问题可能会阻止特定设备接收此意图?有没有办法对此进行测试并创建补救措施?
确保您正在执行真正的完全重启。
例如,某些 HTC 设备具有“快速启动”模式,它不会触发BOOT_COMPLETED
,而是发送android.intent.action.QUICKBOOT_POWERON
广播。据我了解,“快速启动”模式基本上是休眠,而不是真正的断电,因此它们不会发送BOOT_COMPLETED
。
(为什么不Intent
采取行动是com.htc.action.QUICKBOOT_POWERON
一个完整的问题......)
Android 3.1 之后的一些设备在 BOOT_COMPLETED 接收器之后不会给应用程序控制权。
谷歌早就说过,用户应该先从启动器启动一个活动,然后该应用程序才能做很多事情。在启动第一个活动之前阻止 BOOT_COMPLETED 被传递是同一参数的逻辑扩展。
我不知道它在哪些设备上有所作为。