Explorateur de fichier
Résolu/Fermé
lamouchetsetse
Messages postés
112
Date d'inscription
samedi 2 août 2014
Statut
Membre
Dernière intervention
21 septembre 2021
-
28 août 2021 à 00:27
lamouchetsetse Messages postés 112 Date d'inscription samedi 2 août 2014 Statut Membre Dernière intervention 21 septembre 2021 - 29 août 2021 à 23:50
lamouchetsetse Messages postés 112 Date d'inscription samedi 2 août 2014 Statut Membre Dernière intervention 21 septembre 2021 - 29 août 2021 à 23:50
A voir également:
- Explorateur de fichier
- Fichier rar - Guide
- Explorateur de fichiers - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
3 réponses
lamouchetsetse
Messages postés
112
Date d'inscription
samedi 2 août 2014
Statut
Membre
Dernière intervention
21 septembre 2021
2
Modifié le 28 août 2021 à 22:12
Modifié le 28 août 2021 à 22:12
C'est bon j'ai trouvé la solution pour parcourir mes dossier à l'aide d'un intent. il suffit de remplacer la ligne 33 de la fonction "parcourirGalerie()" par:
Ceci dis, lors de l’exécution du onclick, j’atterris dans le dossier Téléchargement par défaut. J'aurais aimé partir du dossier racine. Il ne m'est pas non plus possible de changer de répertoire. Je vais continuer à fouiller, il dois bien y avoir un parametre qui permet de faire ce que je souhaite. Ou peut être est ce encore une histoire d'autorisation.
par contre je cherche toujours une solution permettant obtenir une image miniature afin d'afficher un aperçu des images contenue dans un dossier sans que cela ne prenne un temps monstre.
Merci.
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
Ceci dis, lors de l’exécution du onclick, j’atterris dans le dossier Téléchargement par défaut. J'aurais aimé partir du dossier racine. Il ne m'est pas non plus possible de changer de répertoire. Je vais continuer à fouiller, il dois bien y avoir un parametre qui permet de faire ce que je souhaite. Ou peut être est ce encore une histoire d'autorisation.
par contre je cherche toujours une solution permettant obtenir une image miniature afin d'afficher un aperçu des images contenue dans un dossier sans que cela ne prenne un temps monstre.
Merci.
lamouchetsetse
Messages postés
112
Date d'inscription
samedi 2 août 2014
Statut
Membre
Dernière intervention
21 septembre 2021
2
Modifié le 29 août 2021 à 01:23
Modifié le 29 août 2021 à 01:23
Bien j'avance un peu en rajoutant ceci je parviens à lancer l'exploration a partir du dossier que je souhaite
Mais voila, cela ne fonctionne que sur l’émulateur android-studio; Sur un téléphone je rest bloquer dans le dossier Téléchargement.
Je pense a un problème d'autorisations. Ceci dit j'arrive à naviguer sans problème dans mes dossier avec un objet File?? A suivre.
Je suis pas loin, je vais y arriver lol
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, uriToLoad); // uriToLoad = Uri.fromFile(racine_SD_file)
Mais voila, cela ne fonctionne que sur l’émulateur android-studio; Sur un téléphone je rest bloquer dans le dossier Téléchargement.
Je pense a un problème d'autorisations. Ceci dit j'arrive à naviguer sans problème dans mes dossier avec un objet File?? A suivre.
Je suis pas loin, je vais y arriver lol
lamouchetsetse
Messages postés
112
Date d'inscription
samedi 2 août 2014
Statut
Membre
Dernière intervention
21 septembre 2021
2
29 août 2021 à 23:50
29 août 2021 à 23:50
Bon, voici ce que j'ai finalement fais et qui fonctionne pour naviguer dans les dossier du téléphone:
Voila j’espère que c'est la bonne façon de faire. Et j’espère que ça épargnera à d'autres de nombreuse heures de recherche à essayer de comprendre la doc.
private void parcourirDossier() { // retour demande ActivityResultLauncher<Intent> launchSomeActivity2 = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() { @Override public void onActivityResult(ActivityResult result) { if (result.getResultCode() == Activity.RESULT_OK) { if(result.getData() != null) { if(result.getData().getClipData() != null) { for(int i=0; i<result.getData().getClipData().getItemCount(); i++) { Uri uri = result.getData().getClipData().getItemAt(i).getUri(); String projection[] = {MediaStore.Images.Media.DATA}; Cursor cursor = getContentResolver().query(uri, projection, null, null, null); cursor.moveToFirst(); int indexColonne = cursor.getColumnIndex(projection[0]); String chemin_absolu_fichier = cursor.getString(indexColonne); cursor.close(); Log.e("chemin_absolu => ", chemin_absolu_fichier); } } } } } }); bouton_parcourirDossier.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // on indique que l'on souhaite utiliser l'explorateur de fichier Intent intent = new Intent(Intent.ACTION_GET_CONTENT); // on indique le type de fichier intent.setType("*/*"); // tout les fichiers //on masque les fichiers que l'on ne peu pas ouvrir intent.addCategory(Intent.CATEGORY_OPENABLE); // permet la séléction multiple intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); Intent i = Intent.createChooser(intent, "Choisisr fichier"); //on lance la demande try { launchSomeActivity2.launch(i); } catch (Exception e) { e.printStackTrace(); } } }); }
Voila j’espère que c'est la bonne façon de faire. Et j’espère que ça épargnera à d'autres de nombreuse heures de recherche à essayer de comprendre la doc.