2017-01-01 1 views
1

j'ai donc ce code pour obtenir des images avec Mediastore:comment définir MediaStore pour obtenir l'image à partir du dossier spécifique sur Android

int dataIndex = mMediaStoreCursor.getColumnIndex(MediaStore.Files.FileColumns.DATA); 

mMediaStoreCursor.moveToPosition(position); 
String dataString = mMediaStoreCursor.getString(dataIndex); 
Uri mediaUri = Uri.parse("file://" + dataString); 
return mediaUri; 

Cette bonne obtient toutes les images dans le dossier images, je voudrais changer cela pour obtenir toutes les images dans un dossier spécifique, qui sera transmis en tant que chaîne.

par exemple
+0

Copie possible de [Uri.parse ("fichier: //" + ???); pour accéder à un dossier spécifique] (http://stackoverflow.com/questions/43335103/uri-parsefile-to-access-specific-folder) – fadysi92

Répondre

0
{ android/picture/specificfolder/}

Cocher cette post

Il vous conseiller d'utiliser le curseur et passez le dossier nécessaire dans la projection.

la réponse pertinente de Teh après:

mediaCursor = getContentResolver().query(MediaStore.Files.getContentUri("external"), 
 
       null, 
 
       MediaStore.Images.Media.DATA + " like ? ", 
 
       new String[] {"%YOUR_FOLDER_NAME%"}, 
 
       null);

0

Vous pouvez utiliser la méthode suivante -

public List<String> getFromSdcard() 
{ 
    ArrayList<String> imagePaths = new ArrayList<String>();// list of file paths 
    File[] listFile; 
    File file= new 

    File(android.os.Environment.getExternalStorageDirectory(),"android/picture/specificfolder/"); 

    if (file.isDirectory()) 
    { 
     listFile = file.listFiles(); 


     for (int i = 0; i < listFile.length; i++) 
     { 

      imagePaths.add(listFile[i].getAbsolutePath()); 

     } 
    } 
    return imagePaths; 
} 

pour récupérer les images utilisent

List<String> sample = getFromSdcard(); 

    for(int i=0; i<sample.size() ; i++){ 
     final Uri image = Uri.parse("file://"+sample(i).toString()); 
    }