Android:WebView-未启用会议摄像头和麦克风

克里希南VS

我们连接到https://meet.jit.si进行视频会议。如果我们在Android设备上使用了Chrome浏览器(已在Android 7和10上进行了测试),则可以在启用Camera和Mic的情况下加入。能够同时打开和关闭它们。但是,如果我们使用Webview尝试相同的操作,则甚至在打开电源时都没有从网站获得允许访问的提示,并收到“无法访问摄像头/麦克风”错误。

这是我们的代码。

表现

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />

加载时获取运行时权限

    String[] permissions =
            {Manifest.permission.READ_EXTERNAL_STORAGE,
             Manifest.permission.WRITE_EXTERNAL_STORAGE,
             Manifest.permission.INTERNET,
             Manifest.permission.RECORD_AUDIO,
             Manifest.permission.CAMERA};

    ActivityCompat.requestPermissions(
            this,
            permissions,
            1010);

将网页加载到WebView中

String url = "https://meet.jit.si/testingconf49854";
WebView webView = findViewById(R.id.webView);
WebSettings mWebSettings = webView.getSettings();
mWebSettings.setLoadsImagesAutomatically(true);
mWebSettings.setBlockNetworkLoads(false);
mWebSettings.setJavaScriptEnabled(true);
mWebSettings.setLoadWithOverviewMode(true);
mWebSettings.setUseWideViewPort(false);
mWebSettings.setTextZoom(70);
mWebSettings.setCacheMode( WebSettings.LOAD_NO_CACHE );
mWebSettings.setUserAgentString("Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.65 Mobile Safari/537.36");
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(true);

Map<String, String> noCacheHeaders = new HashMap<String, String>(2);
noCacheHeaders.put("Pragma", "no-cache");
noCacheHeaders.put("Cache-Control", "no-cache");
webView.loadUrl(url, noCacheHeaders);

请让我们知道我们在这里缺少什么。感谢你的帮助。

穆坦西尔

得到这些权限后,你需要重写onPermissionRequestWebChromeClient这样的:

webView.setWebChromeClient(new WebChromeClient() {
  @Override
   public void onPermissionRequest(final PermissionRequest request) {
       request.grant(request.getResources());
}
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Android 11中在后台访问麦克风/摄像头

Firefox无需提示即可完全启用网络摄像头和麦克风

在wkwebview中启用摄像头和麦克风访问

应用程序未显示在MacBook的摄像头和麦克风隐私设置中

WebRTC在通话中更换麦克风或摄像头

HDMI /监控麦克风的摄像头

Pubnub javascript视频聊天摄像头和麦克风静音机制?

在 Virt-Manager 中使用网络摄像头和麦克风

qt webengine 在 mac 上请求摄像头和麦克风访问

好的麦克风/网络摄像头需要寻找的技术规格和功能

启用扬声器、麦克风和摄像头

如何将自定义端口条目列入白名单,以便Chrome提供启用摄像头和麦克风的选项

从移动设备访问时,在本地主机上运行的应用程序无法启用摄像头麦克风

我们如何使用HTML页面访问移动设备的摄像头和麦克风

Citrix Workspace 应用程序 2009 网络摄像头和麦克风在 Ubuntu 20.04 上不起作用

如何允许环聊在Ubuntu BQ M10 OTA 11中访问摄像头和麦克风?

罗技网络摄像头麦克风/组合不起作用,只有网络摄像头没有麦克风

Android:WebView中的网络摄像头错误(摄像头权限不起作用)

如何以编程方式为android启用前置摄像头而不是后置摄像头?

带有TRRS外部麦克风录音的Android摄像机

如何允许或拒绝通知地理位置麦克风摄像头弹出

捕获摄像头+麦克风并在macOS上编码为h264 / aac

Ubuntu 12.10 Skype网络摄像头麦克风无法正常工作

我的音频输入如何始终是网络摄像头麦克风?

USB 实时摄像头麦克风无法录制音频

如何从屏幕顶部删除Firefox橙色麦克风/网络摄像头指示器?

如何在Android模拟器中启用麦克风输入

切换到前置摄像头和后置摄像头Android SurfaceView

在没有摄像头和麦克风的情况下使用RTMP和Red5模拟视频聊天