So erhalten Sie den Bildpfad von Bildern, die auf der SD-Karte gespeichert sind

Ist es möglich, den Pfad aller auf der SD-Karte meines Android-Telefons gespeicherten Bilder abzurufen? Ist es auch möglich, nach anderen Bildern zu suchen, die auf der SD-Karte oder im internen Speicher gespeichert sind? Ich mache gerade folgendes:

Cursor cur = this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,null);  
        startManagingCursor(cur);  
        cur.moveToFirst();
        while (cur.moveToNext()) {
            String str = cur.getString(cur.getColumnIndex(MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME));
            Log.e("#########",str);
        }

dies scheint, als ob die Verzeichnisnamen zurückgegeben werden, auch ich habe diesen Code gesehen:

File images = Environment.getDataDirectory();  
        File[] imagelist = images.listFiles(new FilenameFilter(){  
        public boolean accept(File dir, String name)  
        {  
            return ((name.endsWith(".jpg"))||(name.endsWith(".png")));  
        }  
    });  
        String []mFiles = new String[imagelist.length];  

        for(int i= 0 ; i< imagelist.length; i++)  
        {  
            mFiles[i] = imagelist[i].getAbsolutePath();  
        }  
        Uri[] mUrls = new Uri[mFiles.length];  

        for(int i=0; i < mFiles.length; i++)  
        {  
            mUrls[i] = Uri.parse(mFiles[i]);  
            Log.e("###############","MURIS: "+mUrls[i].getEncodedPath());
        }     

Aber dies löst eine Nullzeiger-Ausnahme aus.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage