我有一个PhoneGap应用,我已经设置了Pushbots(在 onDeviceReady 事件中)。
如果应用程序未在后台运行,通知:点击事件正常工作,但如果应用程序正在运行且正在使用中,则用户会关闭通知标签并点击通知,没有任何反应。
当应用程序位于前台时,如何触发通知:点击事件?
我想在用户点击通知时导航到某个页面,无论应用程序是否正在运行。
我的index.js文件
myApp.run(['$rootScope', function($rootScope) {
document.addEventListener('deviceready', function() {
// Handle the Cordova pause and resume events
document.addEventListener( 'pause', onPause.bind( this ), false );
document.addEventListener( 'resume', onResume.bind( this ), false );
window.plugins.PushbotsPlugin.initialize(...);
window.plugins.PushbotsPlugin.on("registered", function(token){
console.log("Registration Id:" + token);
});
window.plugins.PushbotsPlugin.getRegistrationId(function(token){
console.log("Registration Id:" + token);
});
// Should be called once app receive the notification
window.plugins.PushbotsPlugin.on("notification:received", function(data){
alert("received:" + JSON.stringify(data));
console.log("received:" + JSON.stringify(data));
});
// Should be called once the notification is clicked
window.plugins.PushbotsPlugin.on("notification:clicked", function(data){
alert("Notification clicked"); only fires when the app is not running
$rootScope.$emit('onNotificationClick', data);
console.log("clicked:" + JSON.stringify(data));
});
}, false);
}]);
我的MainAppController中有$ rootScope.onNotificationClick事件。我应该以某种方式将Pushbotsplugin实例化/传递给该控制器吗?
答案 0 :(得分:0)
您在点击通知时发出了该事件。所以你可以使用下面的代码
在控制器中处理$ on$rootScoope.$on('onNotificationClick', function (data) {
// handle here.
//need not pass pushBotPlugin
});