Проблема связана с кодом, размещенным в руководстве Google.
Проблема в том, что они вызывают mmSocket?.use {}
, а затем продолжают подключаться через этот сокет.Метод use()
является действительно полезной функцией расширения для Disposable
объектов, которые выполняют над ними действия, а затем вызывают close()
над ними в конце действия.
В этом случае это явно ошибка.Вы не хотите закрывать сокет сразу после установки соединения.
Чтобы все заработало, просто замените mmSocket?.use {}
на mmSocket?.let {}
и все будет хорошо.
Надеюсь, Google обновит их руководство.