0

我的应用程序使用 APN 服务。首次启动时,它会发送一个

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];  

要求。这会触发带有权限请求的系统警报。无论用户选择什么,都可以从“设置”、“通知”窗格中进行更改。该应用程序收到通知,一切似乎都正常。

现在,我被要求在应用程序内放置一个开关,以从应用程序内部激活/停用推送通知。我认为这是不可能的,但在回答之前,我想得到确认。

有没有办法从应用程序本身访问(读取和/或写入)与特定应用程序相关的通知权限(就像应用程序默认首选项一样)?
一旦由于初始请求而被添加,有没有办法从需要推送通知的应用程序列表中删除该应用程序?

4

1 回答 1

0

不,因为它是与您的应用程序相关的系统设置,而不是应用程序设置。否则任何应用程序都可以在启动时自动启用其所有通知,这将造成严重破坏。

编辑:
您可以读取应用程序的权限UIRemoteNotificationType enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];,然后使用不同类型执行按位和操作,以查看哪些已启用。

于 2012-04-16T10:23:39.963 回答