javascript - Phonegap 应用程序清除推送通知不起作用

标签 javascript cordova notifications

我的应用确实收到来自 GCM 的推送通知。 然后,在我的 iOS 设备中,图标上会显示一个数字,该数字等于收到的通知的金额。

我想在打开应用程序时清除此设置。 根据文档我必须使用这些代码行:

push.clearAllNotifications(function() {
   alert("1");
}, function() {
   alert("2");
});

但是,此后的所有代码都不起作用,并且两个警报之一也没有显示。当然,该数字仍然显示在图标上。 有什么建议或替代方案吗?

编辑: 我当前的代码:

function startPush() {

            var push = PushNotification.init({
                android: {
                    senderID: "xxxx",
                    vibrate: true
                },
                ios: {
                    senderID: "951044503850",
                    gcmSandbox: false,
                    alert: "true",
                    badge: true,
                    sound: 'false',
                    clearBadge: "true"
                }
            });

            push.on('registration', function(data) {
                var regID = data.registrationId;
               alert(regID);
                //this works


            });
            push.clearAllNotifications(function() {
               alert("1");
               //does not fire
            }, function() {
               alert("2");
               // does not fire
            });

}

我确实收到了一个registrationId,因此该部分可以正常工作。然而,警报(1)或警报(2)不会触发,因此该部分不起作用。 顺便说一句,为了奖励积分;),我的手机在推送通知时也不会振动

最佳答案

替代解决方案

添加Cordova Badge Plugin并在应用程序初始化时设置徽章 0(零)

document.addEventListener('deviceready', function () {
    cordova.plugins.notification.badge.set(0);
}, false);

或者您想要隐藏图标徽章的任何地方

关于javascript - Phonegap 应用程序清除推送通知不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40368340/

相关文章:

javascript - 使用<audio>标签和Javascript/jQuery创建简单的音频播放器

javascript - EXTJS 4 - 网格过滤器或商店过滤器清除商店中的现有过滤器

javascript - 如何将单击处理程序传递给子组件

java - 移动第一 8.0 : Adapter cannot get data after upgrade MFP 7. 1 至 8.0

ios - 在iOS中安排本地通知/不定期的时间间隔

swift - 旧的通知代码仍然保留在应用程序中?

objective-c - 响应 "Hide Others"Mac OS X

javascript - 将 "i"添加到输入字段,但应隐藏

android - 任务在项目构建时失败(无法解析所有文件进行配置)

html - Cordova/Kendo 开发和调试工作流程