作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的 android 应用程序中,我试图在 WebView
上加载网页(必须访问相机)。在我的笔记本电脑上,当我加载网页时,我可以访问相机。
显示 html
页面上的所有其他内容。
这是我在 Manifest.xml
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.webkit.PermissionRequest" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
我将 SDK 设置如下:
<uses-sdk
android:minSdkVersion="18"
android:targetSdkVersion="21" />
这是我的 WebView 设置:
private void setMyWebviewSettings(WebSettings MyWebviewSettings) {
MyWebviewSettings.setAllowFileAccessFromFileURLs(true);
MyWebviewSettings.setAllowUniversalAccessFromFileURLs(true);
MyWebviewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
MyWebviewSettings.setJavaScriptEnabled(true);
MyWebviewSettings.setDomStorageEnabled(true);
MyWebviewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
MyWebviewSettings.setBuiltInZoomControls(true);
MyWebviewSettings.setAllowFileAccess(true);
MyWebviewSettings.setSupportZoom(true);
}
如果我可以直接从我的应用程序访问相机(使用正常 Activity ),为什么我不能从 WebView
中打开它?!
最佳答案
我正在尝试同样的事情。下面的代码对我有用。
首先在 list 文件中,我们必须使用 uses 权限标签添加相机硬件权限 true。
然后需要接受相机许可才能在您的 Activity 中使用以下行。
webview.setWebChromeClient(new WebChromeClient() {
@Override
public void onPermissionRequest(final PermissionRequest request) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
request.grant(request.getResources());
}
}
});
关于android - 如何从 Webview 中访问摄像头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40659198/
我是一名优秀的程序员,十分优秀!