Я пытаюсь прочитать файлы из внешнего хранилища файлов, но когда я пытаюсь преобразовать filepath из content-uri, я получаю исключение при неподдерживаемой операции по запросу ContentResolver:
java.lang.UnsupportedOperationException:Запросы заголовка запроса не поддерживают проекции, выборки или сортировку
Я никогда не сталкивался с этим исключением прежде, и это работает нормально в моем другом приложении, но я не могу найти то, что мне здесь не хватает.
1 вещей, если кто-то может указать, что fileProviders необходимы для этой операции?
Ниже приведен мой поток кода:
onActivityResult:
List<Uri> uris = fileUtil.extractUriFromIntent(data);
if (uris != null && !uris.isEmpty()) {
String filePath = fileUtil.getPath(getActivity(), uris.get(0));
prepareAttachment(filePath == null ? "" : filePath);
}
и следующиестроки для запроса Resolver содержимого:
public String getDataColumn(Context context, Uri uri, String selection,
String[] selectionArgs) {
Cursor cursor = null;
final String column = "_data";
final String[] projection = {
column
};
try {
cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null);
if (cursor != null && cursor.moveToFirst()) {
final int column_index = cursor.getColumnIndexOrThrow(column);
return cursor.getString(column_index);
}
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
if (cursor != null) {
cursor.close();
}
}
return null;
}
Я ожидаю получить filePath для файла в содержимом URI, но запрос не отвечает вышеупомянутому исключению.