Mam taką metodę:
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);
}
Niestety kompilator pokazuje mi problem na:
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
Ponieważ managedQuery()
jest przestarzały.
Jak mogę przepisać tę metodę bez użycia managedQuery()
?
java
android
deprecated
AndreaF
źródło
źródło
file://
URI generalnie nie można rozwiązać za pomocącontentUri
: jeśli masz URI pliku, JUŻ masz prawdziwą ścieżkę.new File(new URI(uri.getPath()));
.new File(new URI(uri.getPath())).getAbsolutePath();
to, czego potrzebujesz, nie?źródło
musisz zainicjalizować kursor, ponieważ będzie on zamknięty przed rozpoczęciem metody lub w innym miejscu
źródło