似乎可能有一个现有的cordova解决方案,但除了cordovaBadge插件我找不到它 - https://github.com/katzer/cordova-plugin-badge - http://ngcordova.com/docs/plugins/badge/
问题是由于与LocalNotifications的冲突,我不得不删除此插件。 (好像我不能同时拥有它们)
cordovaBadge有一个简单的.hasPermission()方法。在cordova库中还有什么可以做到的吗?
答案 0 :(得分:5)
您可以使用http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#prepared-statements的isRemoteNotificationsEnabled()
方法:
cordova.plugins.diagnostic.isRemoteNotificationsEnabled(function(isEnabled){
console.log("Push notifications are " + (isEnabled ? "enabled" : "disabled"));
}, function(error){
console.error("An error occurred: "+error);
});
答案 1 :(得分:0)
亲爱的@vargen_您是对的!
我正在将该插件与“ phonegap-plugin-push”一起使用-只是为了捕捉@md repo公开的一些新功能(请参阅推送操作...)。
诊断插件不允许知道是否请求了许可(例如,仅适用于iOS的“ cordova.plugins.diagnostic.getRemoteNotificationsAuthorizationStatus”方法的“ not_determined”响应)。
奇怪的是,首次安装该应用程序(Android)时,将推送权限设置为“ true”(即使未显示任何模式)-已在android 8.1.0上进行了测试。
相反,如果我们使用cordova.plugins.diagnostic.permissionStatus对象的'RECEIVE_WAP_PUSH'值,例如此处提供的示例,https://www.npmjs.com/package/cordova.plugins.diagnostic#requestruntimepermission权限似乎始终是'DENIED_ALWAYS'。
我对于如何管理适用于Android平台的该插件的“首次”使用情况感到非常困惑。