获取本地图片原来是这样写的:
Intent intent3 = new Intent(Intent.ACTION_GET_CONTENT);
intent3.setType("image/*");
startActivityForResult(intent3, REQUESTCODE);
但是报错:cursor.getString(urlindex)为空,但在模拟器上运行正常。很纳闷
//获得路径
if (requestCode == REQUESTCODE) {
Uri uri = data.getData();
uri = geturi(data);//解决方案
String[] pro = {MediaStore.Images.Media.DATA};
Cursor cursor = getActivity().managedQuery(uri, pro, null, null, null);
Cursor cursor1 = getActivity().getContentResolver().query(uri, pro, null, null, null);
//拿到索引
int index = cursor1.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
//移动到光标开头
cursor.moveToFirst();
//根据索引值获取图片路径
pathImg = cursor.getString(index);
L.d("Tag--->path"+pathImg);
UploadImg(pathImg);
}
于是百度了一下,网上又说是版本的问题,4.4后的版本获取的路径与4.4之前的不同,但是我模拟器是6.0,弄不懂。。。。
最终的解决方法其实很简单,就是Intent.ACTION_GET_CONTENT换成Intent.ACTION_PICK
Intent intent3 = new Intent(Intent.ACTION_PICK);
intent3.setType("image/*");
startActivityForResult(intent3, REQUESTCODE);