在锁定屏幕上显示推送通知设置?

时间:2016-04-18 14:48:50

标签: objective-c push-notification

要获取我使用的应用的推送通知设置:

[UIApplication sharedApplication].currentUserNotificationSettings

然后我检查UIUserNotificationSettings的类型。只有4种类型NoneBadgeSoundAlert。如果我使用具有以下设置的应用程序:

enter image description here

我得到SoundBadgeAlert已停用且None已启用。如果我仍然在“锁定屏幕上显示”切换为开启,为什么None启用?我很困惑,是否在“锁定屏幕上显示”处理方式有所不同?根据我的理解,应用程序应该仍然能够接收推送消息。有没有办法找出推送通知的“在锁屏上显示”开关值?

1 个答案:

答案 0 :(得分:0)

通过API,您可以在解锁时访问警报样式。

鉴于您仍然启用了选项Allow Notifications,您的应用仍会收到推送通知。因此,通过在代码中加breakpoint,您会在收到推送通知时看到它正在执行。

currentUserNotificationSettings将告诉您在手机解锁时将使用哪种类型的提醒方式显示:None是一个可行的选项,并且Badge App Icon禁用您的应用可以在不显示任何类型的横幅,警报或徽章的情况下接收推送通知。

Show on Lock Screen可以被视为一种方式,用户可以自定义哪些通知以及哪些通知在手机中显示。我不认为有一个API会告诉您该选项是否已启用。

我刚刚使用您提供的完全相同的配置测试了Messages.app,并且通过向自己发送消息没有徽章,没有横幅,没有警报但是如果我快速锁定屏幕,手机就会唤醒锁定屏幕中的通知。