android 每个星期一或每个星期二重复闹钟

2023-12-11

我正在开发一个基于警报的应用程序,其中我必须根据用户输入在每个工作日重复警报(每个星期一、星期二、星期三)。我用了这个片段

Intent intent = new Intent(context, AlarmReceiver.class);
PendingIntent sender = PendingIntent.getBroadcast(context, id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, alarmToSetInMilliSeconds, sender);

如果用户选择每个星期一意味着,我发现距离下星期一日期还有几毫秒,并且我设置了一个闹钟,并且它工作正常,我如何在下星期一的其他时间重复它,我想要一些想法来实现它,任何帮助都会受到赞赏。谢谢。


这是我的代码,用于将闹钟设置为每月第四次重复

public void init(Context context) {

    Intent intent = new Intent(context, AlarmReceiver.class);
    pendingIntent = PendingIntent.getBroadcast(context, 0, intent,
            PendingIntent.FLAG_UPDATE_CURRENT);

    // Get the AlarmManager service
    alarmManager = (AlarmManager) context
            .getSystemService(Context.ALARM_SERVICE);
}   
public void createAlarmControler(Context context) {

    init(context);
    Calendar cal = Calendar.getInstance();

    cal.set(Calendar.DAY_OF_MONTH, 4);
    cal.set(Calendar.HOUR_OF_DAY, 10);
    cal.set(Calendar.MINUTE, 0);
    cal.set(Calendar.SECOND, 0);
    Date now = new Date(System.currentTimeMillis());
    if (cal.getTime().before(now)) {
        cal.add(Calendar.MONTH, 1);
    }
    long firstTime = cal.getTime().getTime();

    alarmManager.cancel(pendingIntent);
    Log.e("", "firstTime: " + firstTime);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, firstTime, 1000 * 60
            * 60 * 24 * 30, pendingIntent);
}

public void cancelAlarmControler(Context context) {

    init(context);

    alarmManager.cancel(pendingIntent);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android 每个星期一或每个星期二重复闹钟 的相关文章

随机推荐

  • 在每个 nt-h 数组元素之后插入新元素

    我有一个名为a我想在每个之后插入一个元素nt h数组的元素a 例如 我想把字符串XXX每个之后3数组的元素a结果得到一个新数组b如下一个示例所示 let a undefined 0 ee false null Date true z gt
  • pandas 日期时间给出错误的输出

    我正在使用带有日期列的 pandas 数据框 我已使用 pandas pd to datetime 将此列的 dtype 从对象转换为日期时间 Input 0 30 11 2019 1 31 12 2019 2 31 12 2019 3 3
  • 嵌套通配符

    发现有关无界通配符的事实让我很恼火 例如 public class Test private static final Map
  • 当应用程序在 Firebase 后台运行时如何处理通知

    这是我的清单
  • npm 安装失败,并显示“error-ex@^1.3.1”不在 npm 注册表中

    npm 安装失败并出现以下错误 Installing packages npm ERR code E404 npm ERR 404 Not Found GET https registry npmjs org error ex npm ER
  • 读取 .fasta 序列以提取核苷酸数据,然后写入 TabDelimited 文件

    在继续之前 我想请读者参考我之前使用 Perl 时遇到的问题 因为我是这一切的初学者 以下是我这几天发的帖子 按时间顺序排列 如何平均制表符分隔数据中的列值 Solved 为什么我在输出文件中看不到计算结果 Solved 使用 fasta
  • “toFixed()”对于某些数字无法正常工作

    Number toFixed 对于某些号码无法正常工作 例如 7 795 toFixed 2 gt 7 79 Instead it should display 7 80 8 895 toFixed 2 gt 8 89 Instead it
  • 我可以为 iCloud 的“文档目录”添加不备份吗

    我读过 我可以使用 ios 5 1 及更高版本将文件夹标记为 不备份 属性 据我了解 在这种情况下 目录的所有内容都将从备份中排除 在我的应用程序中 我们需要从备份中排除文档目录中的所有文件 可以在应用程序执行期间从文档中添加或删除文件 我
  • 在kivy中的两个屏幕类之间传递变量

    我有两个屏幕类ScreenOne and ScreenTwo我想在它们之间传递一个值 我正在使用 ScreenManager 并且正在使用 ScreenTwo 切换到 self manager current screen2 我想在不使用
  • com.firebase.client.ServerValue.TIMESTAMP 响应什么?

    我正在尝试在网络上使用 Firebase 构建聊天应用程序 并创建 Android 客户端 在我的网络应用程序中 我将 Firebase 服务器的时间戳与消息一起发送 但我在 Android 上似乎遇到了一些麻烦 使用 Firebase 的
  • ParseExact 将字符串解析为 DateTime 失败

    Nov 8 1 44 当我使用这段代码时 它失败了 string DD Nov 8 1 44 try DateTime ParseExact DD MMM dd HH mm CultureInfo InvariantCulture catc
  • gnuplot:将列标题设置为标签

    是否有机会将数据文件列的标题设置为标签 而不是键 我的数据文件有 5 或 6 列 每列上方有一个标题 现在我想将列标题与set label命令 这可能吗 On a 类unix系统 the head命令帮助 header system hea
  • 将 byte[] 转换为字符串

    我有一个长度为 17 个字节的 byte 类型的字节数组 我想将其转换为字符串 并希望将此字符串用于另一次比较 但我得到的输出不是要验证的格式 我正在使用下面的方法进行转换 我想输出为易于验证的字符串 并给出相同的字符串进行比较 byte
  • Python zip() 两个列表

    我试图压缩两个具有相同长度的列表 但总是收到错误 zip 对象位于 0x0000000002A81548 而不是压缩列表 filename input Which file do you want to open n file open C
  • 使用Java使用以公里为单位的纬度经度坐标计算距离

    我有以下方法可以计算距离并以英里为单位返回 public static int calcDistance float latA float longA float latB float longB double theDistance Ma
  • 为什么虚基多重继承中只调用基类默认构造函数? [复制]

    这个问题在这里已经有答案了 在多重继承中 我有一个虚拟的Base被类继承的类A和班级B A and B是基类AB 请参阅下面的代码 在构造函数中A and B Base string 构造函数被调用 我期望得到以下输出 Base Base
  • qDebug() 不打印任何内容

    我尝试将 Qt 与 CLion 一起使用 我的问题是 qDebug 不打印任何内容 但 qInfo qWarning qCritical 和 qFatal 运行良好 这是我的示例代码 include
  • 以编程方式更改单选按钮的背景

    我有一个RadioGroup有两个单选按钮 我想在禁用它们时以编程方式更改它们的颜色
  • C# 套接字和多线程

    我正在尝试了解有关 C 中的套接字和线程的更多信息 我在网上找到了很多很好的资源来帮助我入门 到目前为止我制作的程序是一个简单的 中间人 应用程序 它的设计如下 客户端 应用程序 服务器 给定以下代码 如何防止该线程以 100 CPU 运行
  • android 每个星期一或每个星期二重复闹钟

    我正在开发一个基于警报的应用程序 其中我必须根据用户输入在每个工作日重复警报 每个星期一 星期二 星期三 我用了这个片段 Intent intent new Intent context AlarmReceiver class Pendin