uni-app离线打包的安卓APP中使用webview组件加载h5工程,h5工程的input[file]文件选择功能失效
uni-app离线打包的安卓APP中使用webview组件加载h5工程,h5工程的input[file]文件选择功能失效
问题描述
uniapp离线打包的安卓APP中使用webview组件加载h5工程,h5工程中的文件选择功能失效
5 回复
有人遇到这个问题么?
更多关于uni-app离线打包的安卓APP中使用webview组件加载h5工程,h5工程的input[file]文件选择功能失效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
有人遇到么
请问问题解决了么
后来用的5+api实现的
在uni-app离线打包的安卓APP中,WebView组件加载H5页面时input[file]失效通常是由于WebView未正确配置文件访问权限导致的。以下是解决方案:
- 确保AndroidManifest.xml中添加了文件读写权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
- 在WebView初始化时启用文件访问:
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAllowContentAccess(true);
webView.getSettings().setAllowFileAccessFromFileURLs(true);
webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
- 对于Android 10+版本,需要在WebChromeClient中重写onShowFileChooser方法:
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onShowFileChooser(WebView webView,
ValueCallback<Uri[]> filePathCallback,
FileChooserParams fileChooserParams) {
// 实现文件选择逻辑
return true;
}
});
- 检查H5页面是否使用了正确的accept属性:
<input type="file" accept="image/*">