Xamarin 检查本地通知的NSDictionary中是否存在值
因此,我使用本地通知向用户发送每日通知,添加通知后,我会在userInfo-NSDictionary中添加一个id。用户可以随时移除药物,这将取消通知,这就是我将id添加到NSDictionary中的原因Xamarin 检查本地通知的NSDictionary中是否存在值,xamarin,xamarin.forms,xamarin.ios,Xamarin,Xamarin.forms,Xamarin.ios,因此,我使用本地通知向用户发送每日通知,添加通知后,我会在userInfo-NSDictionary中添加一个id。用户可以随时移除药物,这将取消通知,这就是我将id添加到NSDictionary中的原因 var notification = new UILocalNotification(); Random rnd = new Random(); string stringid = rnd.Next(1, 1000000000).ToStrin
var notification = new UILocalNotification();
Random rnd = new Random();
string stringid = rnd.Next(1, 1000000000).ToString();
notification.AlertBody = usermedid + "Please take " + dosage + " of " + medname;
stringid = notification.AlertBody;
App.BadgeCount = App.BadgeCount + 1;
notification.ApplicationIconBadgeNumber = App.BadgeCount;
notification.FireDate = NSDate.FromTimeIntervalSinceNow(60);
notification.RepeatInterval = NSCalendarUnit.Minute;
var userInfo = NSDictionary.FromObjectAndKey(new NSString("UsermeddosageID"),new NSString(usermeddosagetimeid));
notification.UserInfo = userInfo;
UIApplication.SharedApplication.ScheduleLocalNotification(notification);
代码正在将id插入NSDictionary,但由于某些原因,它不会在我的IF语句中读取id。有人能解释为什么我的代码不起作用吗??谢谢你的帮助
var array = UIApplication.SharedApplication.ScheduledLocalNotifications;
foreach (var item in array)
{
var userinfo = item.UserInfo;
if (!userinfo.ContainsKey(new NSString(usermeddosagetimeid)))
{
UIApplication.SharedApplication.CancelLocalNotification(item);
}
}
如果我理解正确,如果您想取消包含密钥
usermeddosagetimeid
的通知,If语句应该是:
if (userinfo.ContainsKey(new NSString(usermeddosagetimeid)))
{
UIApplication.SharedApplication.CancelLocalNotification(item);
}
而不是!userinfo.ContainsKey(新的NSString(usermeddosagetimeid))
顺便说一句,自iOS 10以来已被弃用,您可以使用该类来计划本地通知。如果我理解正确,如果您想取消包含键
usermeddosagetimeid
的通知,If语句应为:
if (userinfo.ContainsKey(new NSString(usermeddosagetimeid)))
{
UIApplication.SharedApplication.CancelLocalNotification(item);
}
而不是!userinfo.ContainsKey(新的NSString(usermeddosagetimeid))
顺便说一句,自iOS 10以来已弃用,您可以使用该类来安排本地通知。谢谢,因此我现在将通知更改为UnUsernotifications as off,是否有方法一次取消所有通知,例如当用户注销时?请尝试解决方案。方法是:谢谢,所以我现在把我的通知改为UnUsernotifications as off,有没有办法一次取消所有的通知,例如当用户要注销时?试试这个解决方案。方法是:和