要获取我使用的应用的推送通知设置:
[UIApplication sharedApplication].currentUserNotificationSettings
然后我检查UIUserNotificationSettings
的类型。只有4种类型None
,Badge
,Sound
,Alert
。如果我使用具有以下设置的应用程序:
我得到Sound
,Badge
,Alert
已停用且None
已启用。如果我仍然在“锁定屏幕上显示”切换为开启,为什么None
启用?我很困惑,是否在“锁定屏幕上显示”处理方式有所不同?根据我的理解,应用程序应该仍然能够接收推送消息。有没有办法找出推送通知的“在锁屏上显示”开关值?
答案 0 :(得分:0)
通过API,您可以在解锁时访问警报样式。
鉴于您仍然启用了选项Allow Notifications
,您的应用仍会收到推送通知。因此,通过在代码中加breakpoint
,您会在收到推送通知时看到它正在执行。
currentUserNotificationSettings
将告诉您在手机解锁时将使用哪种类型的提醒方式显示:None
是一个可行的选项,并且Badge App Icon
禁用您的应用可以在不显示任何类型的横幅,警报或徽章的情况下接收推送通知。
Show on Lock Screen
可以被视为一种方式,用户可以自定义哪些通知以及哪些通知在手机中显示。我不认为有一个API会告诉您该选项是否已启用。
我刚刚使用您提供的完全相同的配置测试了Messages.app
,并且通过向自己发送消息没有徽章,没有横幅,没有警报但是如果我快速锁定屏幕,手机就会唤醒锁定屏幕中的通知。