Cómo obtener el cambio de Url de CustomTabsClient
¿Cómo obtener la url cuando la página cambia, usando CustomTabsClient
?
Por ejemplo, WebView tiene un método:
- Com.android.support:customtabs: No hay método virtual launchUrl
- ¿Cómo puedo cerrar la aplicación en la pestaña personalizada de cromo?
- Las pestañas personalizadas de cromo piden múltiples navegadores para elegir
- Publicar datos con pestañas personalizadas de Chrome
- Firebase Dynamic Links no vincula profundamente con la URL corta en pestañas personalizadas
@Override public void onPageStarted(WebView view, String url, Bitmap favicon){}
Necesito un método similar para CustomTabs
.
He encontrado este:
mClient.newSession(new CustomTabsCallback(){ @Override public void onNavigationEvent(int navigationEvent, Bundle extras) { super.onNavigationEvent(navigationEvent, extras); } @Override public void extraCallback(String callbackName, Bundle args) { super.extraCallback(callbackName, args); } });
Pero no estoy seguro si este es el que necesito.
- ¿Cómo puedo comprobar si Chrome admite pestañas personalizadas de Chrome?
- Las pestañas personalizadas de Chrome no abren otras aplicaciones
- ¿Cómo agrega encabezados HTTP personalizados a las pestañas personalizadas de Chrome?
- Cómo configurar la orientación a cromo pestaña personalizada en android?
- Cómo cambiar el color de un título en las pestañas personalizadas de Chrome
- Ocultar / Desactivar menú predeterminado en la pestaña personalizada de Chrome
- Las pestañas personalizadas de Chrome cambian el botón de cierre predeterminado que no funciona
- Pestaña personalizada de cierre automático de cromo
¿Cómo obtener la url cuando la página cambia, usando
CustomTabsClient
?
Desafortunadamente no puedes. También hay un problema abierto en el rastreador de errores de Chromium:
https://code.google.com/p/chromium/issues/detail?id=543542
Lo único que puede hacer ahora es saber cuándo la pestaña ha iniciado o terminado de cargar la página, pero no puede recuperar la dirección URL:
mClient.newSession(new CustomTabsCallback(){ @Override public void onNavigationEvent(int navigationEvent, Bundle extras) { Log.w(TAG, "onNavigationEvent: Code = " + navigationEvent); switch (navigationEvent) { case NAVIGATION_STARTED: // Sent when the tab has started loading a page. break; case NAVIGATION_FINISHED: // Sent when the tab has finished loading a page. break; case NAVIGATION_FAILED: // Sent when the tab couldn't finish loading due to a failure. break; case NAVIGATION_ABORTED: // Sent when loading was aborted by a user action before it finishes like clicking on a link // or refreshing the page. break; } } });
- Cómo escribir un permiso en System / app en Android
- Crear un módulo de biblioteca independiente en el estudio de Android