繁体   English   中英

应用被杀死时接收PubNub推送通知

[英]Receive PubNub Push Notifications when app is killed

我正在使用一个Android应用程序,该应用程序使用PubNub Service作为推送通知的第三方,众所周知,PubNub在处理Android时会使用FCM。

我已将来自PubNub的推送通知的侦听器放在应用程序类中:

pubnub.addListener(new SubscribeCallback() {
        @Override
        public void status(PubNub pubnub, PNStatus status) {
            Log.d(TAG, "PubNub status: " + status.getStatusCode());
        }

        @Override
        public void message(PubNub pubnub, PNMessageResult message) {
            Log.d("PubNub", "PubNub Channel Name: " + message.getChannel());
            Log.d("PubNub", "PubNub Message: getMessage " + message.getMessage().toString());

        }

        @Override
        public void presence(PubNub pubnub, PNPresenceEventResult presence) {

        }
    });

当应用程序是前台或后台时,一切工作正常,但问题是当该应用程序被杀死(从正在运行的任务中清除)时,我无法从PubNub接收任何推送通知。

我怎么解决这个问题? 我应该把PubNub监听器放在其他地方吗? 或如何通过FirebaseMessagingService类接收它?

将内容放入Application类不会解决您的任何问题。

当您通过滑动手动杀死该应用程序时, Application类中的所有内容都会被明显破坏。 Pubnub无法继续接收更新。

Android也可能会在后台将您的应用随机杀死,您的Application类也会被破坏,并且在其中进行业务逻辑绝对不是一个好主意。

最后,您必须处理打ze模式 ,这会在一定条件下减少您的互联网连接

考虑到所有这些,如果用例需要,您可以考虑使用服务

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM