我已经向Worklight应用程序实现了推送通知。其中一个要求是,如果用户已在OS级别禁用了应用程序的推送通知,则显示消息。
有没有办法检测到这种变化? Worklight的方法 isPushEnabled :检查是否支持推送通知。如果IBM®Worklight®JavaScriptAPI支持当前环境中的推送通知,则返回true。
即使我禁用了推送AMS应用程序,此方法仍然返回true。
我还搜索了Cordova级别的解决方案但到目前为止没有运气。
谢谢
答案 0 :(得分:3)
如果用户在登录/注销时订阅和取消订阅,您可以始终使用API WL.Client.Push.isSubscribed(alias)来检查当前用户是否已订阅。如果用户未订阅,您可以弹出警报,要求他们订阅以及通知他们"如果您已禁用此应用程序的推送通知,则可以通过转到设置 - >重新启用推送。通知 - > AppName的&#34 ;.
在不编写本机代码的情况下,我不知道是否可以检查用户是否在操作系统级别禁用了推送。我已经看到了一些本地编写的解决方案,例如iOS中有一些讨论: