Android 离子2-收到推送通知时在应用程序内运行代码
我正在安卓的爱奥尼亚2应用程序中实现推送通知。为此,我使用以下函数:Android 离子2-收到推送通知时在应用程序内运行代码,android,push-notification,ionic2,Android,Push Notification,Ionic2,我正在安卓的爱奥尼亚2应用程序中实现推送通知。为此,我使用以下函数: registerPush() { this.push.register().then((t: PushToken) => { return this.push.saveToken(t, {ignore_user: false}); }).then((t: PushToken) => { this.push.rx.notification().subscribe(msg
registerPush() {
this.push.register().then((t: PushToken) => {
return this.push.saveToken(t, {ignore_user: false});
}).then((t: PushToken) => {
this.push.rx.notification().subscribe(msg => {
// execute some code
});
});
}
有了它,我就能够接收服务器发送的推送通知。当应用程序位于前台时,执行一些代码
部分运行时不会出现问题。当应用程序在后台时(我正在使用后台插件),会收到推送通知,但当我单击它时,什么也不会发生
我也想在这种情况下执行通知代码,并在单击应用程序时打开它。有没有办法做到这一点
更新
我已经阅读了插件文档,并相应地更改了代码:
registerPush() {
this.pushNotifications = Push.init({ android: { senderID: "xxxxxxxx" } });
this.pushNotifications.on('registration', data => {
// send token to server
});
this.pushNotifications.on('notification', data => {
// handle notification
});
}
这样,当服务器发送的通知中content available
设置为1时,无论我是否在其中,应用程序都会执行代码。
但是,当我单击通知时,我仍然无法将其置于前台。这是您正在使用的插件。有了这个插件,这个场景将由Phonegap plugin Plush处理,如下所述:我不确定你提到的插件。但最近我们使用了我提到的插件,在安卓系统中,它工作正常。显然,这是同一个插件。我没有看到你的接收推送代码,而只是处理寄存器。你正在使用的插件。有了这个插件,这个场景将由Phonegap plugin Plush处理,如下所述:我不确定你提到的插件。但最近我们使用了我提到的插件,在安卓系统中,它的工作方式和预期的一样。显然,这是同一个插件,我没有看到你的接收推送代码,而只是处理寄存器。