我是新来的android
。我花了大约三个星期的时间来处理我的申请。我需要在正常模式下发送和接收数据包sleep mode
. My app
必须交换数据 5 秒。我尝试使用alarmmanager
但在 android 5 上它不起作用。在android
5 间隔以 60 秒为单位进行更改。这样的解决方案会使电池很快耗尽。当我使用普通的 asynctask 时,不IntentService
,那么只有当屏幕处于ON
and app
是可见的。当应用程序隐藏或我单击电源时OFF
然后交换数据停止工作。最好的解决方案是什么?
即使 RTC_WAKEUP 在大多数情况下也无济于事。
当设备处于深度睡眠模式时适用于我的应用程序的解决方案:
Use 唤醒广播接收器 http://developer.android.com/reference/android/support/v4/content/WakefulBroadcastReceiver.html与 AlarmManager 结合。
服务由startWakefulService()启动,当它完成时,它通过调用completeWakefulIntent(intent)释放唤醒锁。因此设备将被允许重新进入睡眠状态。
我没有添加任何代码。搜索有关如何将 WakefulBroadcastReceiver 与 AlarmManager 结合使用的示例。甚至 WakefulBroadcastReceiver 文档也有一些模板代码。
还要减少警报频率,这样就可以避免消耗太多电池。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)