Как остановить подключение концентратора SignalR - PullRequest
0 голосов
/ 06 мая 2020

Я использую SignalR 3.1.3 в своем проекте:
implementation 'com.microsoft.signalr:signalr:3.1.3'

Он запускается в службе с использованием AsyncTask:

internal class HubConnectionTask() : AsyncTask<HubConnection?, Unit?, String>() {

        override fun doInBackground(vararg hubConnections: HubConnection?): String? {
            val hubConnection = hubConnections[0]
            hubConnection?.start()?.blockingAwait()
            return hubConnection?.connectionId
        }

        override fun onPostExecute(connectionId: String) {
            super.onPostExecute(connectionId)
            Log.e("SignalR", connectionId)
        }
    }

Все работает нормально, кроме случаев, когда я хочу остановить соединение по методу onDestroy моей службы:

override fun onDestroy() {
        super.onDestroy()
        Log.i("SignalRService", "onDestroy")
        if (hubConnection.connectionState == HubConnectionState.CONNECTED) {
            hubConnection.stop()
        }
    }

Он не перестанет получать сообщения!

что я сделал не так?

...