我正在使用 AlarmManager()
来触发通知。我将其设置为在上午 10:30 触发,并每 24 小时重复一次。
我的代码如下。我昨天测试过,问题是在接下来的 2 小时内重复了大约 4-5 次。我不明白这是什么问题。我只想在早上 10:30 触发它,并仅在 24 小时内重复。
请帮我解决问题。我在应用程序的启动屏幕上调用此代码 onCreate()
我的代码:
Intent myIntent = new Intent(Splash.this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(Splash.this,
0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar firingCal = Calendar.getInstance();
Calendar currentCal = Calendar.getInstance();
firingCal.set(Calendar.HOUR_OF_DAY, 10);
firingCal.set(Calendar.MINUTE, 30);
firingCal.set(Calendar.SECOND, 0);
long intendedTime = firingCal.getTimeInMillis();
long currentTime = currentCal.getTimeInMillis();
if (intendedTime >= currentTime) {
alarmManager.setRepeating(AlarmManager.RTC, intendedTime,
AlarmManager.INTERVAL_DAY, pendingIntent);
} else {
firingCal.add(Calendar.DAY_OF_MONTH, 1);
intendedTime = firingCal.getTimeInMillis();
alarmManager.setRepeating(AlarmManager.RTC, intendedTime,
AlarmManager.INTERVAL_DAY, pendingIntent);
}
最佳答案
您可以使用 CommonsWare cwac-wakeful图书馆。它具有设置闹钟的内置支持。
关于android - AlarmManager 每 24 小时发出一次通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17017395/