簡體   English   中英

Android推送通知服務

[英]Android Push Notification Service

目前,我有一個Spring后端,並且我的android應用上有一個websocket,正在監聽更改。 如果有更改,新數據將添加到我的應用程序布局中。 現在,我想在發生更改但應用未運行時通知用戶。

閱讀一些文章后,我發現可以由GCM(FCM)完成。 但是我不想僅僅因為這個而改變我的后端。 所以我的問題是:

即使應用未運行,如何保持WebSocket連接?

如果服務是解決方案,如何將WebSocket實例從Activity傳遞給Service?

如果有人可以給我一些想法,那將真的幫助我。 謝謝你的幫助 :)

如果要實現后台運行服務,則需要創建前台服務 因為Google限制了Android O的后台執行。

您可以在onStartCommand方法中處理套接字:

public class SocketService extends Service {

    ...

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {

        try {
            WebSocketClient client = new WebSocketClient(new URI("http://myserver.hu")) {

                @Override
                public void onOpen(ServerHandshake handshakedata) {

                }

                @Override
                public void onMessage(String message) {

                }

                @Override
                public void onClose(int code, String reason, boolean remote) {

                }

                @Override
                public void onError(Exception ex) {

                }
            }

        } catch (URISyntaxException e) {
           e.printStackTrace();
        }
        return START_STICKY;
    }
}

但是我認為FCM是推送消息的更好選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM