#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
, это означает, что разрешение было дано.
Я только хотел бы, чтобы это было в документах, я нигде не мог его найти.