我正在制作一个设置本地通知的应用程序。如何在iPhone中删除本地通知
谢天谢地,我能够设置本地通知,但我不知道如何删除我的应用程序设置的通知。
XCode确实提供了删除功能removeAllNotifications
,但您无法删除应用程序设置的特定通知。
非常感谢。
我正在制作一个设置本地通知的应用程序。如何在iPhone中删除本地通知
谢天谢地,我能够设置本地通知,但我不知道如何删除我的应用程序设置的通知。
XCode确实提供了删除功能removeAllNotifications
,但您无法删除应用程序设置的特定通知。
非常感谢。
[[UIApplication sharedApplication] cancelLocalNotification:notification]
你问的这个问题两次,所以我回答就在它希望这两个问题达成你:
取消所有本地通知与此代码:
[[UIApplication sharedApplication] cancelAllLocalNotifications];
用此行代码取消一个本地通知:
[[UIApplication sharedApplication] cancelLocalNotification:theNotification];
其中theNotification
是一个UILocalNotification
对象,因此为了取消特定通知,您需要保留它的UILocalNotification
。
你可以在apple's documentation找到更多的东西。
嗨托马斯,你会在哪里保存或获取该通知对象? – 2012-04-28 05:21:00
如果你不想取消所有的通知,你必须持有你可能想要在内存中取消的NSNotification。也许是一个拥有NSNotifications数组的适当类的属性。 – winsmith 2012-04-30 15:03:38
托马斯,我已经通过序列化UILocalNotification对象找到了答案 – 2012-04-30 17:35:53
您可以通过下面的函数取消通知:[[UIApplication sharedApplication]cancelNotification:object Of your UILocalNotification]
虽然这并没有拿出围绕它在应用程序图标上的圆。有没有办法解决这个问题? – coolcool1994 2013-08-16 15:38:41
helloou,你看,在迅速您可以创建一个本地通知:
var notif = UILocalNotification()
notif.timeZone = NSTimeZone.defaultTimeZone()
let morningOfChristmasComponents = NSDateComponents()
morningOfChristmasComponents.year = 2016
morningOfChristmasComponents.month = 03
morningOfChristmasComponents.day = 30
morningOfChristmasComponents.hour = 15
morningOfChristmasComponents.minute = 59
morningOfChristmasComponents.second = 0
let morningOfChristmas = NSCalendar.currentCalendar().dateFromComponents(morningOfChristmasComponents)!
let formatter = NSDateFormatter()
formatter.dateStyle = NSDateFormatterStyle.LongStyle
formatter.timeStyle = .MediumStyle
let dateString = formatter.stringFromDate(morningOfChristmas)
notif.fireDate = morningOfChristmas
notif.alertBody = "alarma wolf"
notif.userInfo = ["identificador": "wolf"]
UIApplication.sharedApplication().scheduleLocalNotification(notif)
print("alarma fijada para \(dateString)")
厕所的用户信息是indeitifer到你本地通知,现在,如果你想删除特定的地方notificaction请尝试:
var uidtodelete = "wolf"
var app:UIApplication = UIApplication.sharedApplication()
for oneEvent in app.scheduledLocalNotifications! {
var notification = oneEvent as UILocalNotification
let userInfoCurrent = notification.userInfo! as! [String:AnyObject]
let uid = userInfoCurrent["identificador"]! as! String
if uid == uidtodelete {
//Cancelling local notification
app.cancelLocalNotification(notification)
break;
}
}
看的方法,上面userInfoCurrent是你的本地的识别器通知和uitodelete是包含您要删除locla通知的特定值的字符串...
AAAA ...如果你想删除所有本地通知您可以使用
UIApplication.sharedApplication( ).cancelAllLocalNotifications()
OKI
我希望你成为自己或别人这一信息..
再见,andforgive我的英语不好
检查此:http://stackoverflow.com/questions/6340664/delete-a-particular-local-notification – user3835691 2014-07-16 02:31:10