我有一個應用程序,在按下按鈕時設置本地通知。在第一次按下該按鈕時,我註冊了本地通知。我的問題是:在用戶通過禁止或允許通知進行響應後,我能夠以某種方式檢測系統的通知註冊警報何時解除(並運行代碼以設置或不設置本地通知)。如何在用戶在iOS中註冊通知後立即運行代碼?
請注意,檢查currentUserNotificationSettings()中的UIUserNotificationTypes不是我正在查找的內容。我希望能夠在用戶選擇允許或不允許通知後立即運行代碼。我怎樣才能做到這一點?
我有一個應用程序,在按下按鈕時設置本地通知。在第一次按下該按鈕時,我註冊了本地通知。我的問題是:在用戶通過禁止或允許通知進行響應後,我能夠以某種方式檢測系統的通知註冊警報何時解除(並運行代碼以設置或不設置本地通知)。如何在用戶在iOS中註冊通知後立即運行代碼?
請注意,檢查currentUserNotificationSettings()中的UIUserNotificationTypes不是我正在查找的內容。我希望能夠在用戶選擇允許或不允許通知後立即運行代碼。我怎樣才能做到這一點?
無論何時顯示「系統」對話框,applicationWillResignActive
將在您的應用程序委託中調用(並且相應的UIApplicationWillResignActiveNotification
將通過NSNotificationCenter
發佈)。
當對話框被解除時applicationDidBecomeActive
將被調用(並且UIApplicationDidBecomeActive
將被張貼)。
如果您在請求通知權限之前設置了布爾屬性,則可以在applicationDidBecomeActive
中檢查該屬性,如果屬實,則可以合理地猜測通知對話框已被解除。
如果您使用的是iOS 8+方法registerUserNotificationSettings
,那麼您可以簡單地在您的應用代理didRegisterUserNotificationSettings:
方法中檢查結果。
是的,正如Paulw11說,你應該實施IOS> = 8.0
optional func application(_ application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings)
感謝您的幫助Paulw11。之前沒有真正處理過NSNotificationCenter,但經過一些研究和試驗/錯誤之後,這就像一個魅力!作爲試圖學習編程的初學者,我無法感謝你的幫助! – omg