我的应用已使用registerForRemoteNotificationTypes:
成功注册了远程推送通知,这导致我的应用在设备的“设置 - >通知中心”中添加了通知首选项条目。假设警报类型设置为UIRemoteNotificationTypeBadge
。
问题 :如果用户将设置中的应用的通知偏好设置从UIRemoteNotificationTypeBadge
更改为UIRemoteNotificationTypeNone
,那么无论如何我的应用都会显示这会在运行时更改 ?就像应用程序使用[[NSNotificationCenter defaultCenter] addObserver......]
作为观察者将其自身添加为系统范围的设置更改?
对于上述情况,我无法从苹果文档中获取任何信息。
答案 0 :(得分:0)
取决于信息类型,例如,要知道用户是否禁用了通知或只是某种类型,您可以使用:
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (types == UIRemoteNotificationTypeNone) {
//User disabled notifications
}
类型是:
UIRemoteNotificationTypeNone = 0,
UIRemoteNotificationTypeBadge = 1 << 0,
UIRemoteNotificationTypeSound = 1 << 1,
UIRemoteNotificationTypeAlert = 1 << 2,
UIRemoteNotificationTypeNewsstandContentAvailability = 1 << 3