Android - обратный вызов connectionState отсутствует для ASP. NET Core SignalR для Android? - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть следующий код подключения -

 private val authorization = App.context?.getSharedPreferences(authorizationPrefs, Context.MODE_PRIVATE)?.getString(authorizationToken, defaultStringValue)
    var hubConnection: HubConnection? = null

    fun startConnection() {
        if (hubConnection != null) return
        hubConnection = HubConnectionBuilder.create(Constants.twoverteBaseUrl.plus(SignalREndpoints.accessSecureChatQuery))
            .withHeader("Authorization", authorization).build().apply { start() }
    }

Мне не хватает открытия, чтобы точно знать, когда подключение подключено, так как это занимает несколько мили c, и если я поставлю свой код после этого start() Я получу connectionState как DISCONNECTED, потому что у него еще не было времени для подключения.

Я уверен, что есть обратный вызов для этого.

Как поставить здесь обратный вызов connectionState?

1 Ответ

1 голос
/ 13 апреля 2020

hubConnection.start () возвращает Rx Java Completable , поэтому, если вы хотите что-то сделать после того, как соединение началось, вам нужно подписаться на Completable и выполнить некоторый код после его завершения.

Пример:

hubConnection.start().subscribe(() -> {
// connected
},
error -> {
// error
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...