每当用户输入MainActivity时,我使用下面的代码以43200000毫秒的间隔设置警报,并删除以前的警报。
int interval =43200000;
Intent alarmIntent = new Intent(this, AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);
manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
manager.cancel(pendingIntent);
manager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), interval, pendingIntent);
setContentView(R.layout.activity_main);
问题是我每隔2分钟打开应用程序就会收到通知或警报
答案 0 :(得分:0)
我建议使用这个:
manager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + interval, interval, pendingIntent);
第二个参数:
triggerAtMillis long:使用适当的时钟(取决于警报类型),警报首先应该以毫秒为单位的时间。
或更好:
am.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP:AlarmManager.RTC, nexttime, pi);
每次在广播接收器启动和每次启动(启动设备)事件时重新启动。
<43> 43200000是12小时;)别忘了 此外,对每个毫秒变量使用long类型:long interval = 43200000L;
以防止出现一些错误。