在“设置”应用中更改应用的通知偏好设置(默认iPhone应用)

时间:2014-05-01 22:44:55

标签: ios apple-push-notifications nsnotificationcenter

我的应用已使用registerForRemoteNotificationTypes:成功注册了远程推送通知,这导致我的应用在设备的“设置 - >通知中心”中添加了通知首选项条目。假设警报类型设置为UIRemoteNotificationTypeBadge

问题 :如果用户将设置中的应用的通知偏好设置从UIRemoteNotificationTypeBadge更改为UIRemoteNotificationTypeNone,那么无论如何我的应用都会显示这会在运行时更改 ?就像应用程序使用[[NSNotificationCenter defaultCenter] addObserver......]作为观察者将其自身添加为系统范围的设置更改?

对于上述情况,我无法从苹果文档中获取任何信息。

1 个答案:

答案 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