2013-07-04 32 views
1

好的,這裏是我的問題,我堅持了這麼多天。如何讓用戶永久在線與Smack在Android上?

我正在XMPP客戶端-SMACK的幫助下開發一個簡單的聊天應用程序。 一切工作正常我從一個朋友到另一個正常的聊天過程,還添加了通知部分。

我不能做的是,如果我強行關閉我的應用程序整個會話與SMACK停止。

我無法將消息發送給已關閉應用程序的用戶。 現在,我如何保持用戶的永久在線狀態,以便即使他關閉了應用程序,他也可以收到消息。

回答

1

你不行。如果應用程序關閉,用戶不再在線並且服務器知道這一點。您仍然可以向他們發送消息,但它是服務器作業來存儲脫機消息,但這意味着服務器必須配置爲這樣做。

一旦用戶再次連接,可以檢索它們。

+0

thnx for the answer mate – Wishy

0

這裏有一些建議,以解決此問題

必須在實施會有兩種結果:

  1. 每x分鐘(投票解決方案)我個人建議不要連接長時間運行的服務這是因爲它是網絡和電池的消耗。

  2. Implement GCM in your app and server。 它發送消息並連接到服務器以檢索有效負載時喚醒應用程序。 (事實上​​,通過C2M的GCM,你可以通過谷歌發送有效載荷,甚至不必連接,但我避開了這一點)