[getColumnIndexOrThrow的原因可能会引发异常
java.lang.IllegalArgumentException:列_data不存在。可用的列:[]
但是,如果您重命名文件并重试,它可以工作吗?
private static String getDataColumn(Context context, Uri uri, String selection,
String[] selectionArgs) {
Cursor cursor = null;
final String[] projection = {
MediaStore.Files.FileColumns.DATA
};
try {
cursor = context.getContentResolver().query(
uri, projection, selection, selectionArgs, null);
if (cursor != null && cursor.moveToFirst()) {
final int cindex = cursor.getColumnIndexOrThrow(projection[0]);
return cursor.getString(cindex);
}
}
catch (Exception e) {
e.printStackTrace();
} finally {
if (cursor != null)
cursor.close();
}
return null;
}
原始文件符合]的意图>
content://com.sec.android.app.myfiles.FileProvider/device_storage/Download/myfile.pdf
但重命名的文件以以下形式出现
content:// 0 @ media / external / file / 588
getColumnIndexOrThrow会引发java.lang.IllegalArgumentException异常的原因是什么:列'_data'不存在。可用的列:[]如果重命名文件...
此