【发布时间】:2016-02-09 07:34:01
【问题描述】:
我正在使用此插件中的数据进行推送通知
cordova plugin add com.phonegap.plugins.pushplugin
my cordova version 5.4.1
我已经安装了安卓版本5.0.0
我已经安装了以下版本的插件
device 1.1.1
file 4.1.0
media 2.1.0
phonegap-plugin-push 1.5.3
但我的应用仅在前台运行良好,在应用关闭或后台模式时不会触发
我的 deviceReadyFunction 如下
var pushNotification;
document.addEventListener('deviceready', onDeviceReady, true);
function onDeviceReady()
{
pushNotification = window.plugins.pushNotification;
if (device.platform == 'android' || device.platform == 'Android') {
$("#app-status-ul").append('<li>registering android</li>');
pushNotification.register(successHandler, errorHandler, {"senderID":"114019398228","ecb":"onNotificationGCM"}); // required!
} else {
$("#app-status-ul").append('<li>registering iOS</li>');
pushNotification.register(tokenHandler, errorHandler, {"badge":"true","sound":"true","alert":"true","ecb":"onNotificationAPN"}); // required!
}
}
function onNotificationGCM(e)
{
$("#app-status-ul").append('<li>EVENT -> RECEIVED:' + e.event + '</li>');
switch (e.event) {
case 'registered':
if (e.regid.length > 0)
{
$("#app-status-ul").append('<li>REGISTERED -> REGID:' + e.regid + "</li>");
}
break;
case 'message':
$("#app-status-ul").append('<li> Fore Ground ::' + JSON.stringify(e.foreground) + "</li>");
if (e.foreground)
{
$("#app-status-ul").append('<li>--INLINE NOTIFICATION--' + '</li>');
// if the notification contains a soundname, play it.
var my_media = new Media("beep.wav");
my_media.play();
}
else
{
// otherwise we were launched because the user touched a notification in the notification tray.
if (e.coldstart)
$("#app-status-ul").append('<li>--COLDSTART NOTIFICATION--' + '</li>');
else
$("#app-status-ul").append('<li>--BACKGROUND NOTIFICATION--' + '</li>');
}
$("#app-status-ul").append('<li>MESSAGE -> MSG: ' + e.payload.Notice + '</li>');
break;
case 'error':
$("#app-status-ul").append('<li>ERROR -> MSG:' + e.msg + '</li>');
break;
default:
$("#app-status-ul").append('<li>EVENT -> Unknown, an event was received and we do not know what it is</li>');
break;
}
}
【问题讨论】:
-
我找到了这个答案stackoverflow.com/a/20969606/3840093,但是在构建找不到符号
notif.setLatestEventInfo的应用程序时它给了我一个错误 -
我有相同的版本,它工作正常。你有什么问题?通知没有到达?活动无效?
-
是的,我无法在通知托盘中收到通知,如果有任何事件侦听器或处理程序可以在应用程序处于后台模式时处理推送通知,请建议我。
-
当应用程序在前台时,push.on 通知是否有效?在后台?你能展示你的初始化函数吗?
-
抱歉回复晚了,我已经更新了我的问题,请看一下。
标签: android cordova push-notification