如何直接为警报注册通知,而不仅仅是横幅? XCode 中的 Swift 或 Objective C

Posted

技术标签:

【中文标题】如何直接为警报注册通知,而不仅仅是横幅? XCode 中的 Swift 或 Objective C【英文标题】:How to register Notification directly for Alert and not just Banner? Swift or Objective C in XCode 【发布时间】:2016-06-27 11:06:31 【问题描述】:

这就是我注册本地通知的方式:

 if application.respondsToSelector(#selector(UIApplication.registerUserNotificationSettings(_:))) 
            if #available(ios 8.0, *) 
                let types:UIUserNotificationType = ([.Alert, .Sound, .Badge])
                let settings:UIUserNotificationSettings = UIUserNotificationSettings(forTypes: types, categories: categoriesForSettings as! Set<UIUserNotificationCategory>)
                application.registerUserNotificationSettings(settings)
                application.registerForRemoteNotifications()
             else 
                application.registerForRemoteNotificationTypes([.Alert, .Sound, .Badge])
            

else 

            // Register for Push Notifications before iOS 8
            application.registerForRemoteNotificationTypes([.Alert, .Sound, .Badge])

我的问题是通知以横幅的形式出现。只有在用户将应用程序的设置从横幅更改为警报之后,通知才会作为真正的警报出现。

我的问题是:是否可以直接询问或注册真正的警报,而不仅仅是横幅通知?

提前致谢!

【问题讨论】:

它在用户手中。用户只能在设置页面中更改它。 @HariKrishnan.P 你 100% 确定吗? 是的,当然@Jonas schafft 【参考方案1】:

遗憾的是,它无法从代码中更改。

【讨论】:

以上是关于如何直接为警报注册通知,而不仅仅是横幅? XCode 中的 Swift 或 Objective C的主要内容,如果未能解决你的问题,请参考以下文章

我无法让推送通知以警报或横幅形式出现

如何播放警报声音并呈现自定义视图而不仅仅是通知?

如何在 iOS 中触发通知时打开警报视图?

当应用程序在后台运行时无法处理推送通知,接收推送但未点击横幅或警报

如何删除徽章但不删除所有通知?

解锁 iPad 时推送通知警报会打开应用程序