Intereting Posts
Android ViewPager с изображениями: утечка памяти / сбои приложений Получить растровое изображение, прикрепленное к ImageView Каков практический эффект viewPager.setOffscreenPageLimit (3) ;? Как уведомлять пользователей об обновлении Android-приложения? NewSpellCheckerSession всегда возвращает null Установить неизменяемую часть editText android Создайте проект библиотеки Android с помощью Ant В чем разница между линейным и относительным расположением? Взрывная анимация просмотра в андроиде Службы android – ошибка: сервис не зарегистрирован Как изменить текст изменения и цвет стрелки на панели инструментов? База данных Android SQLite, таблица отката WHY и воссоздание при обновлении Динамически обновлять список с помощью адаптера AVD Manager теряет пользовательские определения устройств после закрытия и повторного открытия Draw 9-patch не работает – не удается редактировать изображение

Пауза видео WebView вместо всего WebView

У меня есть WebView с видео YouTube и 3 вкладками. Видео YouTube доступно на первой вкладке, а на других вкладках 2 есть контент.

Теперь я хочу приостановить видео, когда пользователь переместится на другие вкладки. Я пробовал с

 webView.onPause(); 

а также

 Class.forName("android.webkit.WebView") .getMethod("onPause", (Class[]) null) .invoke(webView, (Object[]) null); 

Но он приостанавливает работу всего WebView а мои другие 2 вкладки также не отвечают. Как остановить только видео, а не весь процесс WebView

Solutions Collecting From Web of "Пауза видео WebView вместо всего WebView"

На старых устройствах (api <= 21) я не думаю, что это действительно возможно, но простой способ получить данную идею внутренних элементов управления веб-браузером:

Перейдите к ../Android/android-sdk/tools/androiduiautomator.bat и откройте его.

Убедитесь, что ваше устройство подключено через мост ADB (что, скорее всего, будет)

Возьмите снимок экрана своего экрана и наведите указатель мыши на элемент управления webkit, который вы хотите вызвать onPause, который должен отобразить некоторую информацию в правой части экрана.

Подставьте идентификатор для

 Class.ForName("yourId") 

И просто вызовите общий клик, который должен вызвать внутренний эффект приостановки. Это также может быть

 Field.getDeclaredField("Id") 

Но я не уверен. Один из этих двух должен получить желаемый результат.

Вы можете оценить Javascript от android и прекратить воспроизведение видео.

WebView.evaluateJavascript (javascript, callBack); Или более старые версии. webView.loadUrl (JavaScript); Проверьте этот https://developer.android.com/reference/android/webkit/WebView.html#evaluateJavascript(java.lang.String,android.webkit.ValueCallback

Какое у вас видео? Iframe или тег видео?

Вы пишете, что у вас есть вкладка WebView и 3, которую вы используете на этой вкладке WebView во всех?

Мое решение состоит в том, что вы используете другой WebView на другой вкладке, и если на вкладках будут отобраны некоторые данные, которые могут быть необходимы, отправьте их.

На самом деле это не решает ваш вопрос, но я надеюсь, что это может решить вашу проблему.