我正在尝试使用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;
}
};
使用此代码在警告框中正确更改邮件,但当应用程序处于后台或关闭时,收到的通知不会被修改。 提前谢谢!
答案 0 :(得分:1)
我认为这不可能直接来自科尔多瓦。
您应该实施自己的GcmListenerService拦截push messaging events,然后显示自定义通知using the NotificationManager。