2010-09-04 4 views
0

J'écris un fond d'écran en direct et j'ai besoin d'aide. Mon fond d'écran crée un effet sur le dessus d'une autre image ou d'un fond d'écran existant (pas un autre fond d'écran en direct) que l'utilisateur choisit dans les "Paramètres ...".Choisir une image pour le fond d'écran

Mon problème est le suivant: je n'arrive pas à trouver un moyen de lister les fonds d'écran statiques ou les images sur le téléphone. J'ai vu quelques exemples d'obtenir les images de la caméra, mais pas les fonds d'écran.

Toute aide serait appréciée.

Répondre

0

Si cela aide, voici un fichier FileFilter que j'ai écrit qui retournera une liste de dossiers contenant des images. Vous prenez simplement un fichier représentant un répertoire (je l'utilise pour Environment.getExternalStorageDirectory()) utilisez .listFiles (filterForImageFolders) et il retournera un fichier [] avec les répertoires qui contiennent des images. Vous pouvez ensuite utiliser cette liste pour remplir votre liste d'images dans vos paramètres:

FileFilter filterForImageFolders = new FileFilter() 
    {   
     public boolean accept(File folder) 
     { 
      try 
      { 
       //Checking only directories, since we are checking for files within 
       //a directory 
       if(folder.isDirectory()) 
       { 
        File[] listOfFiles = folder.listFiles(); 

        if (listOfFiles == null) return false; 

        //For each file in the directory... 
        for (File file : listOfFiles) 
        {       
         //Check if the extension is one of the supported filetypes       
         for (String ext : imageExtensions) 
         { 
          if (file.getName().endsWith("." + ext)) return true; 
         } 
        }      
       } 
       return false; 
      } 
      catch (SecurityException e) 
      { 
       Log.v("debug", "Access Denied"); 
       return false; 
      } 
     } 
    }; 

(ImageExtensions est une chaîne [] contenant ".png", "bmp", "jpg", "jpeg")

+0

Merci. Je vais voir si je peux l'utiliser pour aider. Cela ne me donne pas ce que je veux, mais je pourrais peut-être l'utiliser. – DarthNoodles

+0

Alors recherchez-vous seulement les fonds d'écran spécifiques? – kcoppock