如果用户已禁用推送通知,如何从混合应用程序检查?

时间:2014-04-17 12:30:05

标签: cordova push-notification ibm-mobilefirst

我已经向Worklight应用程序实现了推送通知。其中一个要求是,如果用户已在OS级别禁用了应用程序的推送通知,则显示消息。

有没有办法检测到这种变化? Worklight的方法 isPushEnabled 检查是否支持推送通知。如果IBM®Worklight®JavaScriptAPI支持当前环境中的推送通知,则返回true。

即使我禁用了推送AMS应用程序,此方法仍然返回true。

我还搜索了Cordova级别的解决方案但到目前为止没有运气。

谢谢

1 个答案:

答案 0 :(得分:3)

如果用户在登录/注销时订阅和取消订阅,您可以始终使用API​​ WL.Client.Push.isSubscribed(alias)来检查当前用户是否已订阅。如果用户未订阅,您可以弹出警报,要求他们订阅以及通知他们"如果您已禁用此应用程序的推送通知,则可以通过转到设置 - >重新启用推送。通知 - > AppName的&#34 ;.

在不编写本机代码的情况下,我不知道是否可以检查用户是否在操作系统级别禁用了推送。我已经看到了一些本地编写的解决方案,例如iOS中有一些讨论:

Enable/Disable Apple Push Notification from iPhone app?