У меня есть такой способ:
public String getRealPathFromURI(Uri contentUri) {
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
К сожалению, компилятор показал мне проблему:
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
Потому managedQuery()
что устарело.
Как я мог переписать этот метод без использования managedQuery()
?
java
android
deprecated
АндреаФ
источник
источник
file://
URI обычно не могут быть разрешены с помощьюcontentUri
: если у вас есть URI файла, у вас УЖЕ есть реальный путь.new File(new URI(uri.getPath()));
.new File(new URI(uri.getPath())).getAbsolutePath();
это то, что тебе нужно, не так ли?источник
вам нужно инициализировать курсор, потому что он будет закрыт до запуска метода или где-то еще
источник