2016-07-27 82 views
0

在我的應用程序中,我想在應用程序處於後臺或終止狀態時閱讀本地通知,並且我想在重複之後取消該通知。使用swift獲取本地通知的背景

我使用下面的代碼來安排本地通知,

let localNotification = UILocalNotification() 
localNotification.fireDate = NSDate() 
localNotification.repeatInterval = NSCalendarUnit.Day 
localNotification.timeZone = NSTimeZone.localTimeZone() 
localNotification.alertBody = "Hello" 
localNotification.userInfo = userInfo 
UIApplication.sharedApplication().scheduleLocalNotification(localNotification) 

兩天後,我想取消該通知。所以,我想獲取數據並檢查相同的取消它。沒有可能爲本地通知使用content-available=1,也不希望用戶與通知進行交互。

func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) { 
} 

是否有任何可能性後臺獲取本地通知?

+0

這個問題沒有什麼特別的與本地通知(因爲它們可以使用cancelLocalNotification取消),但在後臺運行。關於在後臺運行你可以看看很多以前的許多問題。簡短的回答,沒有它不可能,除非你的應用程序能夠在其他正當理由的背景下運行 – Gruntcakes

回答

0

即使您的設備重新啓動,本地通知將位於通知托盤中,但不會被刪除。當用戶將點擊通知和didReceiveLocalNotification將得到電話,然後只有它將被控制,以刪除或進一步的任務。

只有通過推送套件通知才能做到這一點,它將遠程調用。

當它來到後,它會在後臺調用你的應用程序30秒,然後你將得到控制來訪問它去除或做任何事情。

確保設備是否重新啓動,您必須將其保存在NSUserDefault中,除非您無法訪問該對象。