Eu tenho este método:
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);
}
Infelizmente, o compilador me mostrou um problema em:
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
Porque managedQuery()
está obsoleto.
Como eu poderia reescrever este método sem uso managedQuery()
?
java
android
deprecated
AndreaF
fonte
fonte
file://
URIs geralmente não podem ser resolvidos usandocontentUri
: se você tem um URI de arquivo, você JÁ tem o caminho real.new File(new URI(uri.getPath()));
.new File(new URI(uri.getPath())).getAbsolutePath();
é o que você precisa, não?fonte
você precisa inicializar o cursor porque ele estará fechado antes do método iniciar ou em algum outro lugar
fonte