我正在开发一个需要随时接收GCM通知(并向服务器发送信息)的应用程序,因此设备应该保持清醒以接收它,即使屏幕长时间关闭也是如此.
我正在使用WakefulbroadcastReceiver,它应该确保设备保持唤醒锁定以随时接收通知(据我所知,如果我弄错了,请纠正我)
但是我没有调用Intent服务(按照the docs中的说明),而是在广播接收器onReceive方法中执行工作:
public class GCMReceive extends WakefulbroadcastReceiver { @OverrIDe public voID onReceive(final Context context, Intent intent) { /* Do my work */ }}
它工作正常,除非设备长时间处于非活动状态,然后它停止接收通知.我在这里错过了什么吗? WakefulbroadcastReceiver是否需要Intent服务才能正确保存唤醒锁定?
解决方法:
instead I’m performing the work in the very broadcast Receiver onReceive method
欢迎您使用常规的broadcastReceiver. WakefulbroadcastReceiver对你没有好处.但是,除非该工作少于几毫秒,否则你真的应该让IntentService完成这项工作.
Does the WakefulbroadcastReceiver requires the Intent service in order to hold a wake lock correctly?
在调用startWakefulService()之前,WakefulbroadcastReceiver不会获取WakeLock.
总结以上是内存溢出为你收集整理的android – WakefulBroadcastReceiver是否需要IntentService来保存唤醒锁?全部内容,希望文章能够帮你解决android – WakefulBroadcastReceiver是否需要IntentService来保存唤醒锁?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)