2

考虑这种情况。应用程序运行并且application:didRegisterForRemoteNotificationsWithDeviceToken:接收应用程序被授权接收推送通知的信息。

用户将应用程序置于后台并删除应用程序在设备配置上接收通知的授权。

用户再次运行应用程序。从后台返回,应用程序仍然认为它有权接收推送通知。application: didRegisterForRemoteNotificationsWithDeviceToken :application:didFailToRegisterForRemoteNotificationsWithError:此时都没有收到任何内容。

有没有办法知道应用程序是否有权接收推送通知(从设备的通知首选项中读取某些内容)?

谢谢。

4

1 回答 1

5

您可以检查[[UIApplication sharedApplication] enabledRemoteNotificationTypes]应用程序每次从后台返回的时间。

请参阅:iOS - 检查应用程序中的推送通知支持

一旦我确认用户已禁用它,是否有办法以编程方式将用户定向到设备配置上的通知设置?

不适用较新的 iOS 版本。根据Navigate to settings screen in iphoneiOS Launching Settings -> Restrictions URL Scheme,您可以使用-[[UIApplication sharedApplication] openURL:]导航到设置屏幕,但仅适用于运行 iOS 5.0 及更低版本的设备。

于 2013-01-25T13:23:29.467 回答