Как обнаружить минимизацию пользовательских вкладок Chrome на Android?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как обнаружить минимизацию пользовательских вкладок Chrome на Android?

Сообщение Anonymous »

Контекст:
Наше приложение недавно перешло на использование пользовательских вкладок Chrome для аутентификации. WebViews не разрешал вход в систему из Google и Facebook из-за ограничений конфиденциальности.
Все работало хорошо, используя методы жизненного цикла onResume и onNewIntent, чтобы определить, когда пользователь закрывает Пользовательская вкладка Chrome и перенаправляется обратно в наше приложение. Однако в недавнем обновлении Chrome появилась кнопка свертывания (режим «картинка в картинке») для пользовательских вкладок Chrome.
Для нашего процесса аутентификации такая функция сворачивания нежелательна. Мы хотим, чтобы пользователь завершил аутентификацию, прежде чем снова взаимодействовать с приложением. К сожалению, прямое изменение поведения вкладки Chrome ограничено из соображений конфиденциальности.
Наша текущая проблема заключается в том, что когда пользователь сворачивает пользовательскую вкладку Chrome, наше приложение, использующее onResume, интерпретирует это как полное закрытие. Я исследовал API-интерфейсы onMinimized и onUnMinimized из CustomTabCallback, но они не обнаруживают сценарий, в котором пользователь сворачивает, а затем закрывает вкладку. В результате активность нашего приложения остается пустой, что приводит к ухудшению пользовательского опыта.
Вопрос:
  • < li>Есть ли способы надежно определить, когда пользователь наконец закрывает свернутую пользовательскую вкладку Chrome?
  • Существуют ли альтернативные решения для эффективного отслеживания функции свертывания для нашего процесса аутентификации? >
Дополнительная информация:
Я исследовал onMinimized и onUnMinimized API из CustomTabCallback. Чтобы отслеживать свернутое состояние, я реализовал флаг. Однако этот подход имеет ограничения. Внутри onResume я использую таймер (установленный на 750 миллисекунд) для периодической проверки флага. Если флаг показывает, что вкладка свернута, я не рассматриваю ее как закрытую вкладку. Это приводит к небольшой задержке в обнаружении события закрытия, и мне интересно, есть ли лучшие решения.
Но, как я уже говорил ранее, это решение может разрешить обнаружение состояния сворачивания, но когда пользователь закрывает пользовательскую вкладку, когда она находится в свернутом состоянии, мы не можем обнаружить.
Есть ли способ обнаружить закрытие пользовательской вкладки в свернутом состоянии?
Спасибо за любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/782 ... on-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»