如何创建一个可以在固定日期和时间调用的AlarmManger
,这也可以自然地重复连续
最佳答案
不幸的是,AlarmManager
上用于重复任务的任何选项都不允许进行如此精细的控制。最好的方法是在每次闹钟时,将其重新安排在下个月。
PendingIntent pendingIntent = // set here your action
Calendar calendar = // set this guy to be the next 5th day
AlarmManager am = // get reference to the manager
am.set(RTC, calendar.getTimeInMillis(), pendingIntent);
在此待定 Intent 操作中,您重复代码。例如,假设您要启动一个 BroadcastReceiver
onReceive(Context context, Intent intent){
Calendar calendar = // set this guy to be the next 5th day
AlarmManager am = // get reference to the manager
am.set(RTC, calendar.getTimeInMillis(), pendingIntent);
}
设置日历
对象很简单:
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY, 5);
关于具有固定日期和重复性的 Android 闹钟管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24386231/