我已经创建了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>
Run Code Online (Sandbox Code Playgroud)
现在这很好用,但只有在我添加了QUICKBOOT_POWERON动作之后.在此之前我只有BOOT_COMPLETED,当我在调试时重启模拟器或手机时,我的服务永远不会启动.所以我的问题是这两者之间有什么区别以及何时使用它们?
我正在制作一个警报应用程序但是在HTC的"快速启动"功能方面遇到了一些问题.此功能可将设备置于深度休眠状态,而不是转动设备.
这给我带来的问题是,因为手机没有关闭(虽然这是用户感知它的方式)但它并没有从警报管理器中消除我的意图,使我的所有警报直接关闭,用户重新打开手机(如果警报已经过期了).这不是我希望用户使用我的应用程序的体验.我想通过"手机关闭时X号警报响起"的通知在启动时通知用户.我不能因为前面提到的原因而这样做,也因为事件虽然手机被"关闭"(没有应用程序在后台运行,没有通知,没有),但在重新打开时它不会广播BOOT_COMPLETED意图.
有谁知道解决这个问题的方法?可能是htc使用的特殊意图动作来指示快速启动事件?
谢谢你的帮助!
一些HTC手机有一个叫做的功能Fast boot(可以在Preferences - > Power下启用).据我了解,这就像冬眠一样.
再次启动时,BOOT_COMPLETED将不再发送任何信息,而是"恢复"应用程序.这对我来说很难处理我的应用程序(自动启动,取决于SD卡等).
我认为我现在能做的最好的事情就是通知用户禁用Fast boot最佳体验.
由于这是非标准设置,我如何检测它是否已启用?
我想在获得BOOT_COMPLETE意图后开始服务.在HTC资源管理器中有2个重启选项,分别是'poweroff'和'restart'.当我使用'restart'时,我正确地获得BOOT_COMPLETE意图.但是当我使用'poweroff'时没有获得BOOT_COMPLETE意图,所以我无法启动服务.他们的任何意图只有在HTC重启后才能获得?
我一直在谷歌上冲,找不到任何暗示.我卡住了请帮帮我
我<action android:name="android.intent.action.BOOT_COMPLETED"/>在清单中使用了这段代码但没有用
提前致谢