我正在製作一個設置本地通知的應用程序。如何在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