2012-08-22 191 views
5

我正在嘗試創建類似於學習目的的應用程序或信使。Android聊天服務

基本上我創建了一個活動,綁定到使用TCP/IP連接到java服務器的服務。

服務處於活動狀態時,用戶收到併發送消息。問題出在用戶關閉應用程序時(例如使用任務管理器 - 按住主頁按鈕)。如果應用程序關閉,服務將被殺死,因爲它具有0綁定。

我的問題是:這樣的應用程序的模式是什麼,以便用戶總是接收消息,如何發送消息並始終保持其服務活着。

謝謝。

回答

1

Google Talk和其他即時消息程序等應用程序通常使用Google Cloud Messaging。有關於此的Google I/O talk,您可能會感興趣。

+0

+1 Google雲消息傳遞 – EGHDK

+0

我知道c2dm是一個解決方案,但我讀到另一個選項是xmpp。我認爲xmpp在我的示例中使用tpc/ip套接字,所以使用xmpp如何解決服務問題?糾正我,如果我錯了xmpp。謝謝 – Catalin

+0

嘿,我有一個關於保持我的服務活着的問題:http://stackoverflow.com/questions/35168769/start-in-foreground –

0

如果你有後臺,那麼你可以在OneSignal看看它的完全免費和良好的記載:OneSignal

我認爲你已經知道推送通知:基本上你不會每次都聽服務器。當推送到雲消息傳遞平臺將觸發你的電話。

如果你希望你的服務始終處於關閉狀態使用STICKY_SERVICE打開即使應用程序:如果你想要去的定價方案,請閱讀FCMstart-sticky-and-start-not-sticky

另外:Firebase Cloud Messaging

在本頁面:android-migrate-fcm你應該看到本說明:

Firebase雲消息傳遞(FCM)是GCM的新版本。它繼承了可靠和可擴展的GCM基礎架構,以及新功能!查看常見問題以瞭解更多信息。如果您要將消息集成到新應用程序中,請從FCM開始。強烈建議GCM用戶升級到FCM,以便從現在和未來的新FCM功能中受益。