暂停WebViewvideo而不是整个WebView

我有一个带有YouTubevideo和3个选项卡的WebView 。 YouTubevideo在第一个选项卡中可用,而在另外两个选项卡中则有一个内容。

现在我想暂停video,当用户移动到其他选项卡。 我曾尝试过

 webView.onPause(); 

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

但它是暂停整个WebView和我的其他2个选项卡也没有响应。 如何停止video而不是整个WebView过程

Solutions Collecting From Web of "暂停WebViewvideo而不是整个WebView"

您可以从android评估Javascript并停止video播放。

webView.evaluateJavascript(javascript,callBack); 或更旧的版本。 webView.loadUrl(JavaScript的); 检查这个https://developer.android.com/reference/android/webkit/WebView.html#evaluateJavascript(java.lang.String,android.webkit.ValueCallback

你有什么types的video? iframe或video标签?

在较旧的设备上(api <= 21),我不认为这实际上是可能的,但一个简单的方法来检索webview内部控件的给定想法是:

导航到../Android/android-sdk/tools/androiduiautomator.bat并打开它。

确保您的设备通过ADB网桥连接(很有可能)

把你的屏幕的设备屏幕截图,并hover在你想打电话的webkit控件上,这应该提供一些信息到你的屏幕的右侧。

replaceid为

 Class.ForName("yourId") 

只是调用一个通用的点击事件,这会导致暂停的内部效果。 也可以

 Field.getDeclaredField("Id") 

但我不积极。 其中之一应该获得预期的结果。

你写你有一个WebView和3选项卡,你使用从所有选项卡的WebView?

我的解决scheme是,您可以从其他选项卡中的另一个WebView中使用,如果select了某些可能需要的数据,则将其发送给它们。

其实这并不能解决你的问题,但我希望能解决你的问题。