繁体   English   中英

应用程序关闭时,Android XMPP Smack会收到消息

[英]Android XMPP Smack receive message when application is close

我知道如何使用XMPP smack库接收消息,但是即使在应用程序关闭后也可以接收消息。 像Whats App一样,即使应用程序关闭,我们也收到消息。

目前,我正在使用下面的代码来接收消息,当应用程序关闭时,我应该更改什么来接收消息。

 PacketFilter filter = new MessageTypeFilter(Message.Type.chat);

            // Listener for incoming message from any user

            connection.addPacketListener(new PacketListener() {
                public void processPacket(Packet packet) {
                    final Message message = (Message) packet;
                    if (message.getBody() != null) {
                        fromName = StringUtils.parseBareAddress(message
                                .getFrom());
                        Log.i("XMPPClient", "Got text [" + message.getBody()
                                + "] from [" + fromName + "]");     


                                }
                            }
                        });

                    }
                }
            }, filter);
  1. 您需要保持与服务器的持久tcp连接,它将在后台接收所有消息。 Android服务将为您提供帮助。 编写后台服务有点棘手,因为它很容易使您无法阻止CPU进入睡眠状态并耗尽用户电池。
  2. 您可以使用现有的设计良好的Google Cloud Messaging服务。 在这种情况下,这不会花费您额外的CPU /电池时间,但是您需要在服务器端进行修改:如果未连接收件人-XMPP服务器应将消息转发到GCM服务器。

暂无
暂无

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

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