Пожалуйста, обратите внимание на API connect (). Это асинхронный вызов, который следует за обратным вызовом onDisconencted (), поэтому, если вы запустите его непосредственно перед выходом из операции, это приведет к сбою, потому что из onDestroy () вы освобождаете клиента с помощью disable ().
Представьте, что вы запускаете процесс отключения (который занимает некоторое время) и одновременно освобождают все ресурсы / сбрасывают соединения.
Вызов отключить только с точки зрения взаимодействия с пользователем (через кнопку пользовательского интерфейса) и после получения onDisconnected () -> завершить действие здесь (с завершением), что вызовет onDestroy () и освободит клиента.
То же самое вы можете обработать с помощью onBackPressed ().