1

我对 HTC Desire、Android 2.2 和 2.3、沃达丰品牌有一个奇怪的问题。我的应用程序包含多项活动和一项粘性服务。该服务代表主要活动启动。为了允许自动启动,我遵循通常的自动启动模式(根据BOOT_COMPLETED广播进行操作)。

现在 HTC 的情况如下: 系统启动后,应用程序正在接收广播并决定不自动启动。几秒钟后,应用程序正常启动,尽管不是我启动了野兽。仅当应用程序在上次关机阶段处于活动状态时才会发生这种情况。

所以我的自动启动设置无法识别,HTC 似乎启动了任何带有粘性服务的应用程序,该服务在断电时处于活动状态。我用“音乐”应用程序仔细检查了它。启动它,检查正在运行的服务(你会找到它),重新启动,它将再次处于活动状态。停止它,重新启动,它已关闭。

有人可以确认吗?

4

1 回答 1

2

HTC 具有“即时启动”功能,似乎只是将活动应用程序存储在文件中,然后将它们带回内存。实际上,这实际上并不是重新启动。它更像是 Windows 的休眠功能。因此,请检查在设置 -> 电源(或在应用程序下,取决于 Android 版本)中禁用“快速启动”时是否发生该行为。还要确认重新启动(不是关闭/打开电源)实际上会发送 BOOT_COMPLETED。不幸的是,如果问题是因为快速启动的东西,就没有机会获得 BOOT_COMPLETED。

PS 事实证明,确实可以快速启动。见:android注册一个永久的Broadcast Receiver

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

于 2011-06-16T09:57:09.480 回答