我是这个社区的新人,希望你能帮助我。我正在尝试创建一个包含 WebRTC 的 WebView 应用程序。我的问题是,我不知道如何在应用程序中请求网络权限。也许问题是其他的。无论如何,当我运行该应用程序时,我看到了这一点。
我想让这个“播放”图像消失:
并显示这个东西是原始网页

提前致谢。
如果您的 webview 不加载外部页面(来自互联网),则不需要任何权限,否则您只需要互联网权限:
<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)
该图像意味着您的 HTML 页面上可能有一个 HTML<video>标记,该标记占据整个屏幕(高度 - 宽度),并且被声明为自动播放视频,默认情况下 Android 会阻止自动播放视频。
例子:
<video controls autoplay>
<source src="movie.mp4" type="video/mp4">
</video>
Run Code Online (Sandbox Code Playgroud)
所以,
1- 确保您使用WebChromeClient
2- 这是初始化 webview 的方法:
@SuppressLint ("SetJavaScriptEnabled")
private void initWebview () {
webview = findViewById (R.id.my_webview);
webView.setWebChromeClient (new WebChromeClient () {
@Override
public boolean onConsoleMessage (ConsoleMessage consoleMessage) {
Log.e ("WebView - Logger", consoleMessage.messageLevel () + " : " + consoleMessage.lineNumber () + " : " + consoleMessage.message ());
return true;
}
});
WebSettings webSettings = webView.getSettings ();
webSettings.setJavaScriptEnabled (true);
webSettings.setUseWideViewPort (true);
webSettings.setLoadWithOverviewMode (true);
webSettings.setCacheMode (WebSettings.LOAD_NO_CACHE);
}
Run Code Online (Sandbox Code Playgroud)
3-
如果您想允许自动播放页面中的任何 HTML 视频(可能就像您的情况),而不显示大的“播放”图像,请添加到您的initWebview方法中:webSettings.setMediaPlaybackRequiresUserGesture (false);
如果您不想允许自动播放,请从HTML 页面的标记中删除该autoplay属性。<video>
| 归档时间: |
|
| 查看次数: |
8853 次 |
| 最近记录: |