最近在做个项目 ,需要 使用 file 控件上传 图片到服务器 ,在手机浏览器中 可以正常选择照片,但是放到 android
应用中的webview中,file 控件点击后就没有反应。
百度了一番后,找到以下解决方案
开头定义
private ValueCallback<Uri> mUploadMessage;
final static int
FILE_SELECTED = 4;
然后设置
mWebView.setWebChromeClient(new WebChromeClient() {
public void openFileChooser(ValueCallback<Uri> uploadMsg,
String acceptType, String capture) {
mUploadMessage = uploadMsg;
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
MainActivity.this.startActivityForResult(
Intent.createChooser(intent, "完成操作需要使用"),
FILE_SELECTED);
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {switch (requestCode) {
// Choose a file from the file picker.
case FILE_SELECTED:
if (null == mUploadMessage)
break;
Uri result = intent == null || resultCode != RESULT_OK ? null
: intent.getData();
mUploadMessage.onReceiveValue(result);
mUploadMessage = null;
break;
}
}
在activty中加入 以上代码, file 控件可以点开了,可以选择 图片库 和 文件库中的文件 ,但是无法调用相机。
目前只能解决到这一步 ,如果有人知道怎么调用相机,请告诉我,谢谢!
http://blog.csdn.net/woshinia/article/details/19030437
这篇博文貌似说解决了,但是我一直没调试通
时间: 2024-10-29 04:50:59