0
当我尝试运行我的手机(MOTO G)的媒体播放器应用程序,我不能够看到列表中的任何.mp3文件。存储路径
但是,当我在Eclipse中运行模拟器的同一个应用程序的工作正常,我能够看到列表中的MP3文件,我已经给了我下面的代码能有人帮我解决这个问题。
public class Playlist extends ActionBarActivity{
public final String SD_CARD = new String(Environment.getExternalStorageDirectory().getAbsolutePath());
public List<String> songs = new ArrayList<String>();
public ListView lv;
public ArrayAdapter<String> ad;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.song_list);
lv = (ListView)findViewById(R.id.listView1);
Updateplaylist();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
Intent in2 = new Intent(getBaseContext(), MainActivity.class);
in2.putExtra("songindex", position);
setResult(100, in2);
finish();
}
});
}
public void Updateplaylist() {
File home = new File(SD_CARD);
if(home.listFiles(new MP3capture()).length > 0){
for(File file:home.listFiles(new MP3capture())){
songs.add(file.getName());
}
ad = new ArrayAdapter<String>(getBaseContext(), android.R.layout.simple_list_item_1, songs);
lv.setAdapter(ad);
}
}
class MP3capture implements FilenameFilter{
@Override
public boolean accept(File dir, String filename) {
return (filename.endsWith(".mp3"));
}
}
}
你添加了所有需要在Android清单文件的权限?有时应用程序在模拟器中工作,没有在Android清单文件 – 2014-08-30 15:37:34
是的,我仅添加了一个权限读取外部存储android.permission.READ_EXTERNAL_STORAGE – 2014-08-30 15:41:46
把一首歌曲的存储和测试根再次添加权限,我认为你是只检查根。 – 2014-08-30 15:47:24