J'ai cette méthode:
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);
}
Malheureusement, le compilateur m'a montré un problème sur:
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
Parce que managedQuery()
c'est obsolète.
Comment pourrais-je réécrire cette méthode sans utilisation managedQuery()
?
java
android
deprecated
AndreaF
la source
la source
file://
Les URI ne peuvent généralement pas être résolus en utilisantcontentUri
: si vous avez un URI de fichier, vous avez DÉJÀ le chemin réel.new File(new URI(uri.getPath()));
.new File(new URI(uri.getPath())).getAbsolutePath();
c'est ce dont vous avez besoin, non?la source
vous devez initialiser le curseur car il sera fermé avant le début de la méthode ou ailleurs
la source