Можно ли прослушать подтверждение / отказ в разрешении Google поблизости?

#android #google-nearby

#Android #google-поблизости

Вопрос:

В настоящее время в моей основной деятельности я использую клиент API Google для управления жизненным циклом Nearby. Если параметр Nearby не включен или у него нет разрешения на запуск, сработает клиентский OnConnectionFailedListener. Оттуда я ввожу новое действие с помощью startActivityForResult и прослушиваю его событие закрытия, чтобы еще раз проверить, включено ли и функционирует ли Nearby. Это был мой взгляд на проблему, поскольку Google, похоже, официально не предоставляет способ прослушивания диалогового окна, которое он отображает, запрашивая у вас разрешение или что-то близкое к этому.

Я разработал по крайней мере одну стратегию для достижения своей цели, которая заключается в мониторинге ввода данных пользователем, когда они принимают / отклоняют разрешение на использование поблизости.

Моя стратегия заключалась бы в том, чтобы найти среди представлений этот диалог, представленный Google, и прослушать кнопки, которые у него есть. Я отлаживал свой код во время отображения диалогового окна и нигде не мог его найти. Это может быть связано с тем, что, по-видимому, диалог инициируется внутри нового «GoogleApiActivity» (который я даже мог видеть, как он входит и покидает экран). Как я могу получить к этому доступ?

Я также ищу другие способы решения этой проблемы. Но я бы хотел потерять этот дополнительный экран, который я использую сегодня, и зависеть только от диалогового окна API. Я пытаюсь сделать так, чтобы мое приложение работало на API 16 и нескольких типах устройств без проблем с совместимостью.

Заранее благодарим вас за ваше время и за то, что поделились своими знаниями.

Ответ №1:

Оказывается, я действительно ответил сам на свой вопрос. В своем вопросе я указал, что Google открывает GoogleApiActivity для отображения диалогового окна, и открытие этого действия приостановит жизненный цикл моего основного действия, точно так же, как когда я использовал это вспомогательное новое действие, которое я описал в своем вопросе. Более того, когда Google вызывает свою GoogleApiActivity, используется команда startActivityForResult() , и она использует код 65537 для целей идентификации. Если я проверю этот код в onActivityResult(), я могу проверить, дал ли пользователь разрешение на основе результирующего кода. Если результирующий код равен Activity.RESULT_OK , это означает, что разрешение было дано.

Я только хотел бы, чтобы это было в документах, я нигде не мог его найти.