Android Can';无法从外部存储器获取音频

Android Can';无法从外部存储器获取音频,android,android-studio,Android,Android Studio,我正在开发一个简单的音乐播放器,我遇到了一个无法从sd卡获取音频文件的问题。我正在使用emulatorNexus 5X API 28和安卓9.0 如你所见,我有一些SD卡/音乐中的mp3文件 我正在尝试使用以下方法获取歌曲: public void getSongList() { Cursor musicCursor = getContentResolver() .query(MediaStore.Audio.Media.EXTERNAL_CON

我正在开发一个简单的音乐播放器,我遇到了一个无法从sd卡获取音频文件的问题。我正在使用emulatorNexus 5X API 28和安卓9.0

如你所见,我有一些SD卡/音乐中的mp3文件

我正在尝试使用以下方法获取歌曲:

public void getSongList() {
        Cursor musicCursor = getContentResolver()
                .query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, null);

        if (musicCursor != null && musicCursor.moveToFirst()) {
            //get columns
            int titleColumn = musicCursor.getColumnIndex
                    (android.provider.MediaStore.Audio.Media.TITLE);
            int idColumn = musicCursor.getColumnIndex
                    (android.provider.MediaStore.Audio.Media._ID);
            int artistColumn = musicCursor.getColumnIndex
                    (android.provider.MediaStore.Audio.Media.ARTIST);
            //add songs to list
            do {
                long thisId = musicCursor.getLong(idColumn);
                String thisTitle = musicCursor.getString(titleColumn);
                String thisArtist = musicCursor.getString(artistColumn);
                songList.add(new Song(thisId, thisTitle, thisArtist));
            }
            while (musicCursor.moveToNext());
        }
    }
光标不是空的,但它是空的,因为它在
moveToFirst()
方法上失败。我已经搜索了很多关于SO的帖子,但仍然找不到合适的解决方案。我想我可能在一个错误的目录中搜索,因为所有代码都应该工作。希望你能帮助我

更新

MainActivity中onCreate()的权限签入:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
                    != PackageManager.PERMISSION_GRANTED) {

                requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 1);

                return;
            }
        }
Manifest.xml中的权限:

   <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>


你看到这个链接了吗
https://stackoverflow.com/questions/8994625/display-all-music-on-sd-card
?@VarunRaj我已经测试了从这篇文章中获取歌曲的方法。光标仍然为空,getCount()返回0您检查权限了吗?@VarunRaj是的,我已经更新了帖子,以便您可以看到我如何使用权限您的意思是您使用Android Studio将权限放入其中?那么媒体商店不知道这些文件。他们还没有被扫描。重新启动模拟器。(如果你知道怎么做,请告诉我)。