当我使用webChromeClient时,如何从webview中打开相机?
在HTML中我使用: <input id="input-1" class="input-upload" type="file" accept="jpg/*|png/*|gif/*|image/*" style="display:none;"/>
在Android中我使用:
webSettings.setJavaScriptEnabled(true);
mWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);
mWebView.setWebChromeClient(new WebChromeClient(){
@Override
public void onPermissionRequest(final PermissionRequest request) {
request.grant(request.getResources());
}
拥有这些权限:
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="true" />
<uses-feature android:name="android.hardware.camera.front" android:required="true" />
这适用于Android下的Chrome浏览器 . 我不知道为什么它不能在同一部手机上的webview中工作 .
2 回答
你可以在这里测试一下我认为这对你有用 .
http://androidexample.com/Open_File_Chooser_With_Camera_Option_In_Webview_File_Option/index.php?view=article_discription&aid=128
在Android应用程序上使用回调.. 1.)创建一个回调类'ExampleCallback' . 在dataResponse上添加注释
2.)将此回调添加到您的webview
在您的html页面上创建一个名为Android的java脚本函数,并在您想要打开相机时调用它 . java脚本会是这样的 .