我阅读了大量资料,但我仍然认为这个问题没有明确/完整的答案。首先要澄清一些事情:这个问题与手机省电无关,而是与精确计时有关,我是Android的新手。现在让我更深入地解释这个问题。我有一个警报管理器,它将在给定的时间间隔(每2分钟)调用toast(为简单起见)manager.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(),interval,pendingIntent);以上将调用BroadcastReciver上的onReceive()方法。publicclassAlarmReceiverextendsBr
我正在开发一款应每60秒执行一次特定任务的应用。由于Android4.4+中的警报存在一些准确性问题,其中所有警报都不准确,我选择了链接模型:BroadcastReceiver触发第一个警报,每个警报依次设置下一个警报.问题是,即使我将警报设置为60秒(60000毫秒)的间隔,警报也会以5秒的间隔触发,有时甚至更短。我已经在我的Nexus5(Android5.1.1)和Android5.0.1模拟器上测试了代码,两者都给出了相同的结果。我应该指出,两个接收器都已在AndroidManifest上注册,并且我的应用程序具有RECEIVE_BOOT_COMPLETED权限。编辑:set
我正在开发使用AlarmManager的Android应用程序。该应用程序必须非常准确,但是AlarmManager.SetExact仅可从API19(AndroidKitkat)获得,并且我有一部旧手机,其Android版本为4(API16)。我尝试使用服务,但是当我锁定手机时,它会停止。我需要一种适用于19岁以下API的替代方案。有人有想法吗?看答案只是设置()。在API19之前,SET是确切的集合。设置不精确时添加了setExact。
我需要每10分钟计划一次计划任务。由于在Lollipop和更高版本中setRepeating()不准确,我使用setExact()并且(在触发警报时)我在10分钟内设置了新的准确警报。privatevoidsetAlarm(longtriggerTime,PendingIntentpendingIntent){intALARM_TYPE=AlarmManager.ELAPSED_REALTIME_WAKEUP;if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.KITKAT){alarmManager.setExact(ALARM_TYPE,tr
我需要每10分钟计划一次计划任务。由于在Lollipop和更高版本中setRepeating()不准确,我使用setExact()并且(在触发警报时)我在10分钟内设置了新的准确警报。privatevoidsetAlarm(longtriggerTime,PendingIntentpendingIntent){intALARM_TYPE=AlarmManager.ELAPSED_REALTIME_WAKEUP;if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.KITKAT){alarmManager.setExact(ALARM_TYPE,tr
在我应该在指定时间触发警报的应用程序中,警报的目的是通过Notification通知用户,我对获得不精确的结果感到绝望。闹钟响了,但不是在指定的时间。当警报设置和它应该响起的时间之间的时间很长时,这是系统性的。为此,我使用了setExact(RTC_WAKEUP,time,intent)。经过多次尝试使其工作后,我终于看到并尝试了setAlarmClock函数,一切顺利!!根据javadoc,setAlarmClock与setExact相同,只是它隐含了RTC_WAKEUP。据我所知,至少存在另一个差异。有人知道吗? 最佳答案 se
使用Android19+setExact与WakefulBroadcastReceiver结合使用有时不会按时触发(可能会延迟几秒左右)。我的意思是大多数时候都是这样。大概50次中有49次是正确的。不知道是不是只是因为当时系统很忙,无法处理工作量还是什么我是这样设置闹钟的:AlarmManageralarmMgr=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);Intentintent=newIntent(AlarmReceiver.INTENT_FILTER);PendingIntentalarmIntent