Salut,

À partir d'une Uri, je récupère le path en String, et je veux reconstruire l'Uri. Mais ça ne fonctionne pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Uri uri = data.getData();
    // imageView.setImageUri(uri); // works, I can see the image
 
    String path = uri.getPath(); // "/external/images/media/8"
    Uri uri2 = Uri.fromFile(new File(path));
    imageView.setImageUri(uri2); // does not work, no image
}
Comment créer uri2 à partir du path pour qu'il soit "identique" à uri (qu'il se comporte de la même manière) ?

En mode debug, on voit que uri est de type Uri$StringUri alors que uri2 est de type Uri$HierarchicalUri.
La différence la plus flagrante (à l'origine du problème) vient sans doute de la valeur de uriString (qu'on ne voit qu'en debug, il n'y a pas d'accesseur) :
uri.uriString : "content://media/external/images/media/8"
uri2.uriString : "file:///external/images/media/8"

Comment créer une String à partir d'une Uri, permettant de reconstruire cette même Uri (à tous les coups, et pas que dans le mode camera ou dans le mode gallery) ?