Je dois obtenir le nom et l'extension d'un fichier que j'ai besoin de télécharger. Je laisse l'utilisateur de sélectionner le fichier à l'aide d'un appel et obtenir l'intention URI comme suit:nom de fichier android de uri n'est pas le même que le nom de fichier réel
public void onActivityResult(int requestCode, int resultCode, Intent data) {
/* stuff */
Uri uri = data.getData();
String filePath = data.getData().getPath();
Log.d("filePath ",filePath);
Log.d("URI ", uri.toString());
String fileName = (new File(filePath)).getName();
Log.d("fileName ",fileName);
mais les résultats sont les suivants:
com.blah.blah D/URI: Contenu://com.android.providers.downloads.documents/document/354
com.blah.blah D/filePath:/document/354
com.blah.blah D/fileName: 354
le nom de le fichier n'est même pas 3 54! c'est un fichier PDF (par exemple "Bus e-Ticket.pdf" ou "Xender.apk")
String fileName = (new File(filePath)).getAbsolutePath();
donne également le même. comment puis-je obtenir le nom de fichier/exstension sur le disque?
puis utilisez l'API 'ContentResolver' – pskink