具有固定日期和重复性的 Android 闹钟管理器

标签 android

如何创建一个可以在固定日期和时间调用的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/

相关文章:

android - 类 'org.apache.http.conn.ssl.SSLSocketFactory' 未实现接口(interface)

android - MediatorLiveData在addSource观察到的LiveData返回之前调用旧数据

android - 如何将我的文件从一个目录复制到另一个目录?

android - 项目刷新失败,JetGradlePlugin$_apply_closure2$_closure4

android - 如何将共享首选项值设置为布局

android 5.0 lollipop 应用程序安装在应用程序安装期间显示未知错误代码 : "-505"

java - Gson 实现 no.of classes 取决于花括号?

Android:在锁屏上覆盖 TextView

android studio 设计器预览 : how to include device frame?

java - 如果没有查询参数,则防止 java.net.URL 剥离 "?"