考虑这种情况。该应用程序将运行,并且应用程序:didRegisterForRemoteNotificationsWithDeviceToken:接收有关该应用程序有权接收推送通知的信息。

用户将应用置于后台,并删除应用的授权以接收有关设备配置的通知。

用户再次运行应用。从后台返回后,该应用仍然认为它具有接收推送通知的权限。 application:didRegisterForRemoteNotificationsWithDeviceToken:或application:didFailToRegisterForRemoteNotificationsWithError:在这一点上都没有收到任何东西。

是否有办法在任何给定的时间知道应用程序是否有权接收推送通知(从设备的通知首选项中读取内容)?

谢谢。

最佳答案

每当应用程序从后台返回时,您都可以检查[[UIApplication sharedApplication] enabledRemoteNotificationTypes]

参见:iOS - Check for push notification support in the app


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


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

关于iphone - 知道某个应用程序是否有权即时接收推送通知,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14522246/

10-10 20:46
查看更多