2017-08-15 41 views
0

當使用UNUserNotificationCenterDelegate::didReceive代表觸發基於日期的本地通知時,我的應用程序啓動計時器。可以在不通知通知的情況下檢測本地通知觸發嗎?

但是如果在通知被觸發時應用程序已經打開,我希望我的計時器在該點自動啓動,而不用點擊通知。

這可能嗎?

e.g:

我想設置一個通知下午3點,在該點開始30分鐘計時器(這應該正是在下午3點開始),將在下午3:30結束。
如果用戶在10分鐘後,在下午3點10分點擊通知,該計時器將在3:40過期。 這就是爲什麼我想在通知被觸發時啓動定時器,而不是在用戶點擊它時。

+0

方法userNotificationCenter(_:willPresent:withCompletionHandler :)當通知被傳遞到前臺應用程序將被調用。參考:https://developer.apple.com/documentation/usernotifications/unusernotificationcenterdelegate/1649518-usernotificationcenter – Hooda

+0

@Hooda:你能提供這個答案,以便我可以接受嗎?謝謝。 – Kobe

+0

完成。感謝您的貢獻。 – Hooda

回答

1

方法userNotificationCenter(_:willPresent:withCompletionHandler :)將在通知傳遞到前臺應用程序時調用。

來源:Link

0

使用此方法使用您的計時器概念

application:didReceiveLocalNotification: 

但是,是的,當你的應用程序在後臺狀態,如果本地通知來了,您將不會收到任何方法調用。

+0

你是什麼意思?當你點擊通知時會被調用,對吧? – Kobe

+0

是的,據我所知,當你的應用程序處於後臺狀態時,如果本地通知來臨,你將不會收到任何方法調用。 –

+0

而當你的應用程序在前臺時,這個方法將被自動調用 –