簡體   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