【发布时间】:2019-11-11 23:29:39
【问题描述】:
我试图在一天中的特定时间(即凌晨 12 点)发射接收器,但有时它会在凌晨 1 点或 2 点发射。
我向我的服务添加了一个通知,以了解接收器何时开始根据警报准确地开始,我发现它从凌晨 1 点或 2 点甚至 3 点开始,而不是我调整的那样。
calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY,0);
calendar.set(Calendar.MINUTE,0);
calendar.set(Calendar.SECOND,0);
Intent intent = new Intent(getActivity(), PrefAlarm.class);
long firstMillis = System.currentTimeMillis();
alarm = (AlarmManager) getActivity().getSystemService(getActivity().ALARM_SERVICE);
pIntent = PendingIntent.getBroadcast(getActivity(), PrefAlarm.REQUEST_CODE2,intent ,PendingIntent.FLAG_CANCEL_CURRENT);
alarm.setInexactRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis( ),AlarmManager.INTERVAL_DAY,pIntent);
【问题讨论】:
-
没用。
-
确实如此。使用没有“重复”的方法
-
但我想每天凌晨 12 点重复服务
-
所以重复设置一个新的闹钟
标签: android broadcastreceiver alarmmanager alarm