项目场景:
安卓加载H5页面调用手机相机与手机相册
问题描述
H5单独调用手机相机与相册这个问题还是比较好解决,现在的问题是在同一页面同时存在调用手机相机与相册两个选项,因为有人脸识别功能只限定直接调用相机
原因分析:
翻看官方API最后终于找到判断条件
解决方案:
webView.setWebChromeClient(new WebChromeClient() {
/**
* API >= 21(Android 5.0.1)回调此方法
*/
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> valueCallback, FileChooserParams fileChooserParams) {
//通过fileChooserParams参数获取<input />标签中得参数来判断是什么类型-然而并获取不到想要的判断条件
if (fileChooserParams != null) {
//最终通过fileChooserParams.isCaptureEnabled()方法来解决你的困惑 官方解释是否为设备
if (fileChooserParams.isCaptureEnabled()) {
//所以这里写调用相机逻辑
return true;
} else {
//此处写调用相册逻辑
}
}
return true;
}
});
}
|