修改angularjs pushnotification的通知

时间:2015-09-02 11:50:20

标签: angularjs cordova push-notification

我正在尝试使用angularjs,cordova和pushplugin在Android上添加推送通知。
我收到通知,但我想在显示状态栏通知之前更改收到的数据内容。 例如,我发送与服务器类似的东西:
标题:我迟到了 消息:发件人555-555555

是否可以使用WhatsApp等联系人名称更改号码?
有类似的东西:
标题:我迟到了 消息:发件人John Doe
这是我的代码:

    window.onNotification = function(e) {

    switch( e.event )
    {
        case 'registered':
            if ( e.regid.length > 0 )
            {
                console.log("Your regID is : " + e.regid);
            }
            break;

        case 'message':
            e.message = "message changed";
            // this is the actual push notification. its format depends on the data model     from the push server
            if ( e.foreground )
            {
                alert("foreground alert");
                console.log("foreground log");
            }
            else
            {  // otherwise we were launched because the user touched a notification in the notification tray.
                if ( e.coldstart )
                {
                    alert("cold start notif");
                    console.log("cold start notif");
                }
                else
                {
                    alert("cold start notif nop" );
                    console.log("cold start notif nop");
                }
            }
            console.log('message = '+e.message);
            alert("GCM message received " + JSON.stringify(e.message));
            alert(JSON.stringify(e));
            angular.element(document.querySelector('#yata')).html(e.message);
            break;

        case 'error':
            console.log('GCM error = '+e.msg);
            break;

        default:
            console.log('An unknown GCM event has occurred');
            break;
    }
};

使用此代码在警告框中正确更改邮件,但当应用程序处于后台或关闭时,收到的通知不会被修改。 提前谢谢!

1 个答案:

答案 0 :(得分:1)

我认为这不可能直接来自科尔多瓦。

您应该实施自己的GcmListenerService拦截push messaging events,然后显示自定义通知using the NotificationManager