如何在用户在 iOS 中注册通知后立即 运行 编码?
How to run code immediately after user registers for notifications in iOS?
我有一个应用程序可以在按下按钮时设置本地通知。第一次按下该按钮时,我注册了本地通知。我的问题是:在用户通过不允许或允许通知进行响应后,我是否能够以某种方式检测系统的通知注册警报何时解除(以及 运行 设置或不设置本地通知的代码)。
请注意,检查 currentUserNotificationSettings() 中的 UIUserNotificationTypes 不是我要找的。我希望能够在用户选择允许或禁止通知后立即 运行 编码。我该怎么做?
任何时候出现 "system" 对话框时,都会在您的 App Delegate 中调用 applicationWillResignActive
(相应的 UIApplicationWillResignActiveNotification
将通过 NSNotificationCenter
发布)。
关闭对话框时将调用 applicationDidBecomeActive
(并发布 UIApplicationDidBecomeActive
)。
如果您在请求通知权限之前设置了一个布尔值 属性,您可以在 applicationDidBecomeActive
中进行检查,如果为真,请合理猜测通知对话框刚刚被关闭。
如果您使用的是 iOS 8+ 方法 registerUserNotificationSettings
那么您可以简单地在您的应用委托 didRegisterUserNotificationSettings:
方法中检查结果。
是的,正如 Paulw11 所说,您应该为 ios >= 8.0
实施
optional func application(_ application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings)
我有一个应用程序可以在按下按钮时设置本地通知。第一次按下该按钮时,我注册了本地通知。我的问题是:在用户通过不允许或允许通知进行响应后,我是否能够以某种方式检测系统的通知注册警报何时解除(以及 运行 设置或不设置本地通知的代码)。
请注意,检查 currentUserNotificationSettings() 中的 UIUserNotificationTypes 不是我要找的。我希望能够在用户选择允许或禁止通知后立即 运行 编码。我该怎么做?
任何时候出现 "system" 对话框时,都会在您的 App Delegate 中调用 applicationWillResignActive
(相应的 UIApplicationWillResignActiveNotification
将通过 NSNotificationCenter
发布)。
关闭对话框时将调用 applicationDidBecomeActive
(并发布 UIApplicationDidBecomeActive
)。
如果您在请求通知权限之前设置了一个布尔值 属性,您可以在 applicationDidBecomeActive
中进行检查,如果为真,请合理猜测通知对话框刚刚被关闭。
如果您使用的是 iOS 8+ 方法 registerUserNotificationSettings
那么您可以简单地在您的应用委托 didRegisterUserNotificationSettings:
方法中检查结果。
是的,正如 Paulw11 所说,您应该为 ios >= 8.0
实施optional func application(_ application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings)