Je MediaScannerConnectionClient me retourner chemin et uri comme ci-dessousComment obtenir le chemin de fichier absolu pour uri media
path=/sdcard
uri= content://media/external/images/media/9834
Comment trouver le chemin absolu pour le uri? J'ai essayé ci-dessous et échoué et ligne Log.d (TAG, "après nouveau fichier");
n'est pas exécuté.
On dirait qu'il ya une erreur dans l'exécution ligne
new File(new URI(uri.getPath()))
Toute aide est très appréciée. -regards, Manju
File myFile=null;
try {
myFile=new File(new URI(uri.getPath()));
Log.d(TAG,"after new File");
} catch (URISyntaxException e) {
e.printStackTrace();
} catch (IllegalArgumentException e){
e.printStackTrace();
}
if(myFile!=null && myFile.exists()){
Log.d(TAG,"file exists");
Log.d(TAG,"FilePath: "+myFile.getAbsoluteFile());
}else{
Log.d(TAG,"given file DOESNOT exist");
Salut Chansuk, Merci pour votre réponse, mais votre solution ne fonctionne pas pour moi. Je reçois une chaîne et un uri en rappel après la fin du scan. J'ai essayé d'utiliser votre code pour obtenir le chemin absolu, mais il échoue. chemin:/sdcard /, uri: contenu: // media/external/images/media/7950 – Manju
Quel est le résultat ou l'erreur? Dans votre cas, je pense que 'Cursor c = getContentResolver(). Query (uri, null, nul, null);' est OK, pour des informations plus détaillées vous pouvez vous référer à une question similaire - [question # 3401579] (http://stackoverflow.com/questions/3401579/get-filename-and-path-from-uri-from-mediastore?rq=1) – Chansuk
Salut Chansuk, Merci pour votre réponse, mais votre solution ne fonctionne pas pour moi. Je reçois une chaîne et un uri en rappel après la fin du scan. J'ai essayé d'utiliser votre code pour obtenir le chemin absolu, mais il échoue. résultat ==>/sdcard/alors que mon uri.toString() ==> contenu: // media/external/images/media/7950 – Manju