问题的原因是WebView界面无法访问本地文件系统,所以无法正确加载相机拍摄的图片。为了解决这个问题,需要使用Android的FileProvider机制来提供对文件的访问权限。
以下是一些示例代码,可以在Android Webview中正确处理相机拍摄的图片:
在AndroidManifest.xml文件中添加以下内容:
创建一个名为file_paths.xml的XML文件(在/res/xml/目录下),其中包含以下内容:
在WebView中添加以下代码:
webView.setWebChromeClient(new WebChromeClient() {
// For Android 3.0+
public void openFileChooser(ValueCallback
// For Android 4.1+
public void openFileChooser(ValueCallback uploadMsg, String acceptType, String capture) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
startActivityForResult(Intent.createChooser(i, "File Browser"), FILECHOOSER_RESULTCODE);
}
// For Android 5.0+
public boolean