HTC的“快速启动”未广播BOOT_COMPLETED意图,也未从闹钟管理器中清除意图。

7
我正在开发一个闹钟应用,但遇到了关于HTC的“快速启动”功能的问题。这个功能会将设备置于深度休眠状态,而不是关闭设备。
这给我带来的问题是,因为手机没有关闭(尽管用户是这样看待它的),所以它不会从闹钟管理器中清除我的意图,使得所有过期的闹钟在用户打开手机后直接响起。这不是我想让用户在我的应用中体验到的。我想通过通知在启动时通知用户,“当您的手机关闭时,X个闹钟已经响了”。出于前面提到的原因,我无法这样做,还因为即使手机“关闭”了(没有后台运行的应用程序、没有通知等),它也不会在重新打开时广播BOOT_COMPLETED意图。
有人知道解决这个问题的方法吗?也许HTC使用一种特殊的意图操作来指示快速启动事件?
感谢任何帮助!

1
它不应该广播BOOT_COMPLETED,因为它并没有真正重新启动。 - Roman Nurik
我理解你的意思,但用户确实会看到它正在重新启动,那么你有没有其他好的广播建议可以听取? - Emil Sjölander
2个回答

6

HTC在一些运行OS 4.0+的设备上使用了与Android SDK不同的稍微不同的意图。

<action android:name="com.htc.intent.action.QUICKBOOT_POWEROFF" />

并且

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

除了安卓的之外,你是指什么?否则这真的是个坏消息。另外,你能说出哪些设备或操作系统版本受到影响吗? - Mister Smith
是的,除了遵循Android操作系统惯例的OEM厂商外,我还可以在HTC One X(OS版本4.1.1)上看到它,所以很可能适用于所有HTC产品从4.0版本及以上。 - young_payters

3

尝试

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

并且

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

无论如何,回答很棒!我不再需要它了,但知道也是好的! - Emil Sjölander

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接