用户点击PushPlugin离子后如何处理通知?

时间:2015-05-13 06:28:36

标签: cordova notifications ionic

我让一切正常,但在用户点击通知后遇到问题。理想情况下,我希望他们转到另一条路线,而不是去索引。

1 个答案:

答案 0 :(得分:2)

这是解决此问题的链接:

https://github.com/phonegap-build/PushPlugin/issues/213

当应用程序在后台并收到通知时,您可以将playload保存到 localStorage

$rootScope.$on('$cordovaPush:notificationReceived', function(event, notification) {
   if (ionic.Platform.isAndroid() && notification.event == 'message') {
        var newsid=notification.payload.newsid;
        if (typeof newsid != 'undefined') {
            // save the newsid to read it later in the resume event
            $window.localStorage.setItem('goafterpush',newsid);
        }
    }
});

然后在 resume 事件中,您可以阅读之前保存的playload并使用该数据更改应用程序的状态并重定向到另一条路线:

$ionicPlatform.on("resume",function(event){
     // read the newsid saved previously when received the notification
     var goafterpush=$window.localStorage.getItem('goafterpush');
     if (goafterpush) {
         $window.localStorage.removeItem('goafterpush');
         $state.go('app.newsdetail',{id:goafterpush});
     }
});