收到推送后打开应用程序

时间:2016-12-08 00:03:59

标签: cordova ionic-framework

我正在使用Cordova / PhoneGap + Ionic2编写Android + iOS应用程序,我想在收到推送通知时打开应用程序。

如果应用程序是后台,我怎么能在收到推送后打开它?我想在没有用户按下按钮的情况下发生这种情况 - 就像Skype在接到来电时那样。

这是推送通知的当前处理程序:

// Handle received Push
this.push.rx.notification().subscribe((msg) => {
    alert(msg.title + ': ' + msg.text);
});

这样可行,但在用户单击收到的通知之后才会执行警报操作。我想自动将用户带到应用程序,然后使用我自己的界面显示收到的通知。

我查看了How to bring a Cordova Android application to foreground or start and bring to foreground once connected (and turn screen on) programmatically on GCMhttps://github.com/MobileChromeApps/cordova-plugin-background-app - 但在用户点击调用此插件的通知之前,我仍然没有发生任何事件,因此无法使用此功能。

1 个答案:

答案 0 :(得分:0)

你需要去原生,即使有几个插件可以处理非常好的GCM / FCM流程,其中大部分(至少是我信任的那些)不能处理你想要的东西。

在Android中,您可以使用BroadcastReceiver并在此处决定是否显示通知,然后决定是否启动应用意图。

在iOS中,您可以使用didReceiveRemoteNotification方法并决定在那里做什么。

在这两种情况下,我相信在没有任何用户操作的情况下显示应用程序可能会被视为糟糕的UX体验(即使可能)。例如,对于iOS,他们从未在Guide中提及处理应用状态转换的选项