首页 > 解决方案 > 如何创建与工作日重复间隔的本地通知?

问题描述

我想创建一个以工作日重复间隔的本地通知。例如,如果我将周一和周五的通知设置为下午 5 点,我想在每周一和周五的同一时间重复此通知,而不是在其他日子。

我已经参考了这篇文章,但它并不完整: https ://www.c-sharpcorner.com/article/how-to-send-local-notification-with-repeat-interval-in-xamarin-forms/

标签: xamarinxamarin.forms

解决方案


其实完全可以参考这个链接,只是修改里面的notifyTimeand 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);    
    } 

你可以下载它的代码。


推荐阅读