在我的应用程序中,我正在保存某些坐标并使它们成为地理围栏,因此每次用户位置输入某个地理围栏时,我都会在didEnterRegion委托方法中添加一些代码来通知用户他/她进入了某个地理围栏。我正在使用UILocalNotification通知用户这件事。
我关注的是,在我的应用程序“设置”视图中。我有一个切换按钮,用于启用/禁用通知。我怎么做?
谢谢!
答案 0 :(得分:3)
启用/禁用UILocalNotification
没有任何特定属性,因此我们无法轻松处理它。要启用和禁用UILocalNotification
(在您的情况下),
我只是把我的逻辑
if(toggleButtonEnable)
{
// First remove all LocalNotifications with set it's BadgeNumber = 0
[[UIApplication sharedApplication] cancelAllLocalNotifications];
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
// Then write code of UILocalNotification with it's fireDate
}
else
{
// remove all LocalNotifications with set it's BadgeNumber = 0
[[UIApplication sharedApplication] cancelAllLocalNotifications];
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}
使用上述代码,只要if condition
变为 true ,首先删除/取消所有通知并设置 badge = 0; 并创建新的{{ 1}},当UILocalNotification
变为 false 时,也会删除/取消所有通知并设置 badge = 0; 。因此,您可以轻松处理(启用/禁用) if condition
。
答案 1 :(得分:-5)
无法启用/禁用本地通知。但有一种方法可以做到这一点。
删除通知(禁用通知)
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"NotifyName" object:nil];
之后添加通知(启用通知)
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(abc:) name:@"NotifyName" object:nil];