Пользовательские вкладки с поведением onPageFinished() и onPageStart()
Я должен внедрить пользовательские вкладки в приложение, которое использует вход в систему через веб-просмотр с функцией OAuth. Есть ли способ использовать такое же поведение, как onPageStart() и onPageFinished() в пользовательских вкладках Chrome?
2 ответа
Если вы используете пользовательские вкладки Chrome для OAuth (кстати, отличная идея - гораздо более безопасная и удобная в использовании, чем WebView), вам следует рассмотреть библиотеку AppAuth с открытым исходным кодом.
Даже если вы не зависите от библиотеки напрямую, у нее есть несколько хороших примеров реализации потоков OAuth с помощью пользовательских вкладок Chrome.
Вы можете реализовать CustomTabsCallback и переопределить onNavigationEvent
, использование NAVIGATION_STARTED
а также NAVIGATION_FINISHED
,
Вам нужно передать CustomTabsCallback в качестве параметра при создании нового сеанса. Посмотрите на этот образец.
Ограничение заключается в том, что у вас не будет доступа к загружаемому URL-адресу, особенно если пользователь отходит от URL-адреса, используемого для открытия настраиваемой вкладки.