Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
Result resultString = scanningImage(picturePath);
android 从手机里获取图片进行二维码扫描时崩溃是因为4.4之后Uri发生了变化,得到的cursor为null
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
/**
* 4.4以后uri发生变化处理
*/
String mImgPath = null;
if (cursor != null) {
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
mImgPath = picturePath;
} else {
mImgPath = selectedImage.getPath();
}
Result resultString = scanningImage(mImgPath);