在我的 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" />
这是我的网络视图设置:
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);
}
如果我可以直接从我的应用程序访问相机(使用正常活动),为什么我不能从 WebView
中打开它?!
原文由 McLan 发布,翻译遵循 CC BY-SA 4.0 许可协议
根据 meuser07 的回答,这对我有用。除了 Manifest.xml 中的权限外,您还需要在运行时检查/授予权限。
我希望它有所帮助。
我正在使用
RxPermission
授予权限。此外,您需要添加此配置。