我的应用程序,利用APN服务。首次发布时,会发送
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
请求。这会触发带有权限请求的系统警报。无论用户选择什么,都可以从“设置”,“通知”窗格中进行更改。该应用程序获取通知,一切似乎工作正常。
现在我被要求在应用程序中放置一个开关,以激活/停用应用程序内部的推送通知。 我不认为这是可能的,但在回答之前,我想得到确认。
是否有办法从应用程序本身访问(读取和/或写入)与特定应用程序相关的通知权限(就像应用程序默认首选项一样)? 有没有办法从需要推送通知的应用列表中删除应用程序,因为初始请求已添加推送通知?
答案 0 :(得分:0)
不,因为它是与您的应用相关的系统设置,而不是应用设置。否则,任何应用都可以在启动时自动启用所有通知,这会造成严重破坏。
编辑:
您可以使用UIRemoteNotificationType enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
读取应用程序的权限,然后使用不同类型执行按位和操作,以查看哪些已启用。