我有什么事做不对吗?

问题描述

我一直试图在设备上显示mp3文件。我正在使用下面的代码,但是它一直崩溃。

Logcat建议我得到EXTERNAL_WRITE_PERMISSIOgrandUriParmission,这已经完成了。

这是代码

public List<AudioModel> getAllAudioFromDevice(final Context context) {
    final List<AudioModel> tempAudioList = new ArrayList<>();

    Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
    
    String[] projection = {
      MediaStore.Audio.AudioColumns.DATA,MediaStore.Audio.AudioColumns.ALBUM,MediaStore.Audio.ArtistColumns.ARTIST,};
    
    Cursor c = context.getContentResolve().query(
        uri,projection,MediaStore.Audio.Media.DATA + " like ? ",new String[]{"%yourFolderName%"},null
    );

    if (c != null) {
        while (c.movetoNext()) {

            AudioModel audioModel = new AudioModel();
            String path = c.getString(0);
            String album = c.getString(1);
            String artist = c.getString(2);

            String name = path.substring(path.lastIndexOf("/") + 1);

            audioModel.setaName(name);
            audioModel.setaAlbum(album);
            audioModel.setaArtist(artist);
            audioModel.setaPath(path);

            Log.e("Name :" + name," Album :" + album);
            Log.e("Path :" + path," Artist :" + artist);

            tempAudioList.add(audioModel);
        }
        c.close();
    }

    return tempAudioList;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)