Pausar vídeo WebView en lugar de WebView completo
Tengo un WebView
con video de youtube y 3 pestañas. El video de YouTube está disponible en la 1ª pestaña mientras que en otras 2 pestañas hay un contenido.
Ahora quiero pausar un video cuando el usuario se mueve a otras pestañas. He intentado con
- No se muestra la versión de WebView UTF-8 de Android
- Cómo crear una vista web a pantalla completa
- Los identificadores de selección no aparecen en WebView (Android 4.0-4.3)
- Android webview página recarga después de la captura de imagen y cargar en android 5 +
- Youtube iframe player no mostrará videos en android 4.x WebView
webView.onPause();
y
Class.forName("android.webkit.WebView") .getMethod("onPause", (Class[]) null) .invoke(webView, (Object[]) null);
Pero está deteniendo todo WebView
y mis otras 2 pestañas tampoco responden. Cómo detener sólo un video en lugar de todo el proceso de WebView
- Enviar solicitud de envío junto con HttpHeaders en Android
- Restaurar historial y página actual al reanudar la visualización web
- Android crea documento pdf desde webview con varias páginas
- WebViewClient que no llama shouldOverrideUrlLoading
- FlipAnimation causando problemas en 4.4.3
- Cómo imitar el navegador predeterminado para descargar archivos .apk desde webview?
- ¿Cómo detener el video de YouTube en la vista web de Android?
- Android: carga el contenido de la base de datos sqlite en webview
En los dispositivos más antiguos (api <= 21) no creo que esto sea realmente posible, pero una manera fácil de recuperar la idea dada de los controles internos de una webview es:
Navegue hasta ../Android/android-sdk/tools/androiduiautomator.bat y ábralo.
Asegúrese de que su dispositivo está conectado a través de un puente ADB (lo que probablemente será)
Tome una captura de pantalla del dispositivo de su pantalla y pase el ratón sobre el control de webkit que desea llamar onPause que debe traer información al lado derecho de su pantalla.
Sustituir el id de
Class.ForName("yourId")
Y simplemente llamar a un evento genérico de clic que debería causar un efecto interno de pausa. También podría ser
Field.getDeclaredField("Id")
Pero no estoy seguro. Uno de esos dos debe obtener un resultado deseado.
Puedes evaluar JavaScript desde android y detener la reproducción de videos.
WebView.evaluateJavascript (javascript, callBack); O versiones anteriores. WebView.loadUrl (javascript); Compruebe esta https://developer.android.com/reference/android/webkit/WebView.html#evaluateJavascript(java.lang.String,android.webkit.ValueCallback
¿Qué tipo de video tienes? Iframe o etiqueta de video?
Escribes que tienes una pestaña WebView y 3, ¿usas desde esa pestaña WebView en Todos?
Mi solución es que usted utiliza de otro WebView en la otra lengüeta y si las lengüetas se seleccionan algunos datos que pueden ser necesarios, se envían a ellos.
De hecho esto no soluciona su pregunta, pero espero que pueda resolver su problema.
- Chromium webview no parece funcionar con Android applyOverrideConfiguration
- Obtener contacto Foto basada en Teléfono de contacto Android – Ejemplo de trabajo