2011-11-23 67 views
2

我用import java.io.File;从我的SD卡导入所有音乐文件, 现在我想要使用Mediastore的文件的标题,但我该怎么做? 这是我现在使用的代码。从文件中获取媒体标题

public class ListFiles extends ListActivity { 
private List<String> directoryEntries = new ArrayList<String>(); 


@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Intent i = getIntent(); 
    File directory = new File(i.getStringExtra("directory")); 

    if (directory.isDirectory()){ 
     File[] files = directory.listFiles(); 

     Arrays.sort(files, new Comparator<File>(){ 
      public int compare(File f1, File f2) { 
       return -Long.valueOf(f1.lastModified()).compareTo(f2.lastModified()); 
      } 
     }); 

     this.directoryEntries.clear(); 
     for (File file : files) { 
      this.directoryEntries.add(file.getName()); 
     } 

     ArrayAdapter<String> directoryList = new ArrayAdapter<String>(this,R.layout.file_row, this.directoryEntries); 
    this.setListAdapter(directoryList); 
    } 

} 
@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 
File clickedFile = new File(this.directoryEntries.get(position)); 
Intent i = getIntent(); 
i.putExtra("clickedFile", clickedFile.toString()); 
setResult(RESULT_OK, i); 
finish(); 
} 

}

感谢。

回答

1

我已经做到了使用的视频文件MediaStore:类概述 - 媒体提供者包含元数据对内部和外部存储设备的所有可用的媒体。

您可以参考这两个例子来了解使用MediaStore List VideoList Audio

+0

,你可以检查这个问题https://stackoverflow.com/questions/48934159/mediastore-not-working- when-folder-programmatically-created我需要帮助 –

相关问题