xamarin - 如何创建与工作日重复间隔的本地通知?
问题描述
我想创建一个以工作日重复间隔的本地通知。例如,如果我将周一和周五的通知设置为下午 5 点,我想在每周一和周五的同一时间重复此通知,而不是在其他日子。
我已经参考了这篇文章,但它并不完整: https ://www.c-sharpcorner.com/article/how-to-send-local-notification-with-repeat-interval-in-xamarin-forms/
解决方案
其实完全可以参考这个链接,只是修改里面的notifyTime
and repeateForMinute
,把notifyTime改成周一或者周五的日期,然后repeateForMinute改成7天
例如,如果开始日期是2019/10/18 17:00 Friday。您可以更改LocalNotificationService
:
public void LocalNotification(string title, string body, int id, DateTime notifyTime){
notifyTime = new DateTime(2019, 10, 18, 17, 0, 0, DateTimeKind.Utc);
long repeate7Days = 1000 * 60 * 60 * 24 * 7;
long totalMilliSeconds = (long)(notifyTime.ToUniversalTime() - _jan1st1970).TotalMilliseconds;
if (totalMilliSeconds < JavaSystem.CurrentTimeMillis()){
totalMilliSeconds = totalMilliSeconds + repeate7Days;
}
...
var alarmManager = GetAlarmManager();
alarmManager.SetRepeating(AlarmType.RtcWakeup, totalMilliSeconds, repeate7Days, pendingIntent);
}
你可以下载它的源代码。
推荐阅读
- c# - 检测是否从已发布的自包含可执行文件运行
- javascript - 用于计算日期时间的 JavaScript 间隔函数
- c++ - QTreeView:如果没有输入,则不更新索引
- windows - 需要帮助删除 RELEASE Flash Player ActiveX (windows 8.1)
- javascript - React 在 js 文件之间传递变量
- html - XSLT 表在输出中乱序
- python - QPlainTextEdit 和 QCompleter 焦点问题
- javascript - 创建一个firebase函数以在数据库中设置负服务器时间戳但保留NaN
- sql - 为 RDLC 报告创建视图的 SQL 查询
- powershell - 是否可以使用 powershell 甚至 cmd 使用密码/哈希加密任何文件?