2010-09-04 104 views
0

我正在写一个动态壁纸,需要一些帮助。我的壁纸将创建一个效果,在用户在“设置...”中选择的另一个图像或现有壁纸(而不是另一个动态壁纸)的顶部。为壁纸挑选图像

我的问题是这样的:我找不到方法来列出手机上的静态壁纸或图像。我见过一些获取相机图像的例子,但不是壁纸。

任何帮助,将不胜感激。

回答

0

如果这有帮助,这是我写的FileFilter,它将返回包含图像的文件夹列表。你只需要一个表示一个目录的文件(我用它为Environment.getExternalStorageDirectory())使用.listFiles(filterForImageFolders),它将返回一个File []与包含图像的目录。然后,您可以使用此列表来填充设置图片的列表:

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是一个String []包含 “PNG”, “BMP”, “JPG”, “JPEG”)

+0

谢谢。我会看看我是否可以用它来帮助。它不会给我我想要的,但我可以使用它。 – DarthNoodles 2010-09-06 18:47:33

+0

那么你在寻找具体的股票壁纸吗? – kcoppock 2010-09-07 00:04:14