Java 网络视图和摄像头访问
我有一个Java 网络视图和摄像头访问,java,android,android-studio,webview,Java,Android,Android Studio,Webview,我有一个web应用程序(通过SSL保护),可以访问camera。它在画布中显示camera捕获。它在浏览器中工作得非常好。但是,我希望摄像头内容显示在我的应用程序的网络视图中。 下面是我在方法onCreate中的代码: final WebView myWebView = (WebView) findViewById(R.id.webView); WebSettings webSettings = myWebView.getSettings(); webSettings.s
web应用程序
(通过SSL保护),可以访问camera
。它在画布中显示camera
捕获。它在浏览器中工作得非常好。但是,我希望摄像头
内容显示在我的应用程序的网络视图
中。
下面是我在方法onCreate
中的代码:
final WebView myWebView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.getSettings().setAllowFileAccessFromFileURLs(true);
myWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);
myWebView.loadUrl("https://myvideoapp.me");
myWebView.setWebViewClient(new WebViewClient());
这是我在manifest.XML中使用的权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
如果您正在编写android+4.4,则需要获得许可
在你的主要活动中,在你的课堂内,如果你想申请相机许可,请使用此选项:
private static final int REQUEST_ID_MULTIPLE_PERMISSIONS = 0;
private boolean checkAndRequestPermissions() {
int permission = ContextCompat.checkSelfPermission(this, android.Manifest.permission.CAMERA);
List listPermissionsNeeded = new ArrayList();
if (permission != PackageManager.PERMISSION_GRANTED) {
listPermissionsNeeded.add(android.Manifest.permission.CAMERA);
}
if (!listPermissionsNeeded.isEmpty()) {
ActivityCompat.requestPermissions(this, (String[]) listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]), REQUEST_ID_MULTIPLE_PERMISSIONS);
return false;
}
return true;
}
您还必须在onCreate void函数中检查它,如下所示:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!checkAndRequestPermissions()) {
return;
}
.........