4

在我的应用程序中测试远程推送通知期间,我遇到了一些奇怪的行为:

即使我在设置应用程序中为我的应用程序选项关闭“启用通知”,我也会不断收到通知。这正常吗?禁用该选项后,我的应用程序是否应该取消订阅自己的通知,或者它是 iOS 的响应?还是在注册远程通知时我应该做一些特别的事情?或者“沙盒”通知可能是正常的?

在 iPhone 4 上的 iOS 5.1 上测试。

4

1 回答 1

3

我认为禁用通知的 UI 令人困惑。将“通知中心”切换为关闭与禁用通知不同。

您都需要单独取消选择“警报样式”、“徽章应用程序图标”、“声音”和“在锁定屏幕中查看”。

这是我用来在运行时检查通知设置的代码:

UIRemoteNotificationType notificationSelection = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

BOOL sendMessage;

if (notificationSelection == UIRemoteNotificationTypeNone)
{
    NSLog(@"Push Notifications : DISABLED (%0X)!", notificationSelection);

    sendMessage = NO;
}
else
{
    NSLog(@"Push Notifications : ENABLED (%0X) - hurrah! :-)", notificationSelection);

    if (notificationSelection & UIRemoteNotificationTypeBadge)
    {
        NSLog (@"Push Notifications : Badge");
    }

    if (notificationSelection & UIRemoteNotificationTypeSound)
    {
        NSLog (@"Push Notifications : Sound");
    }

    if (notificationSelection & UIRemoteNotificationTypeAlert)
    {
        NSLog (@"Push Notifications : Alert");
    }

    if (notificationSelection & UIRemoteNotificationTypeNewsstandContentAvailability)
    {
        NSLog (@"Push Notifications : Newstand Content Availability");
    }
}
于 2012-09-07T10:29:37.397 回答