在我的应用程序中测试远程推送通知期间,我遇到了一些奇怪的行为:
即使我在设置应用程序中为我的应用程序选项关闭“启用通知”,我也会不断收到通知。这正常吗?禁用该选项后,我的应用程序是否应该取消订阅自己的通知,或者它是 iOS 的响应?还是在注册远程通知时我应该做一些特别的事情?或者“沙盒”通知可能是正常的?
在 iPhone 4 上的 iOS 5.1 上测试。
在我的应用程序中测试远程推送通知期间,我遇到了一些奇怪的行为:
即使我在设置应用程序中为我的应用程序选项关闭“启用通知”,我也会不断收到通知。这正常吗?禁用该选项后,我的应用程序是否应该取消订阅自己的通知,或者它是 iOS 的响应?还是在注册远程通知时我应该做一些特别的事情?或者“沙盒”通知可能是正常的?
在 iPhone 4 上的 iOS 5.1 上测试。
我认为禁用通知的 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");
}
}