大佬教程收集整理的这篇文章主要介绍了android – 使用AlarmManager.RTC类型调度的PendingIntent仍然在睡眠模式下调用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
private static void setAlarm(Context context) { Intent myIntent = new Intent(context,Widget.class); myIntent.setAction(AUTO_updatE); PendingIntent pendingIntent = PendingIntent.getBroadcast(context,myIntent,PendingIntent.FLAG_updatE_CURRENT); AlarmManager alarmManager = (AlarmManager) context.getSystemservice(service.ALARM_serviCE); Calendar calendar = Calendar.geTinstance(); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.add(Calendar.SECOND,8); alarmManager.seTinexactRepeaTing(AlarmManager.RTC,calendar.getTimeInMillis(),8000,pendingIntent); }
但问题是即使在睡眠模式下,onReceive()仍然由意图触发.
虽然在使用seTinexactRepeaTing而不是setRepeaTing之后,在睡眠模式下呼叫之间的延迟增加了1分钟,但这仍然是电池消耗.
我没有看到你在这里需要日历的任何理由.日历仅用于跟踪未来8秒的时间:
Calendar calendar = Calendar.geTinstance(); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.add(Calendar.SECOND,8);
创建警报以在此处每8秒触发一次:
alarmManager.seTinexactRepeaTing(AlarmManager.RTC,pendingIntent);
警报继续每8秒触发一次.
我会尝试改变:
alarmManager.seTinexactRepeaTing(AlarmManager.RTC,pendingIntent);
至:
alarmManager.seTinexactRepeaTing(AlarmManager.RTC,System.currentTimeMillis(),pendingIntent);
以上是大佬教程为你收集整理的android – 使用AlarmManager.RTC类型调度的PendingIntent仍然在睡眠模式下调用全部内容,希望文章能够帮你解决android – 使用AlarmManager.RTC类型调度的PendingIntent仍然在睡眠模式下调用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。