我正在编写一个简单的应用来检测和打印用户在其设备上拥有的所有歌曲。但是,该应用无法找到通过Google Play商店下载/购买的任何歌曲。如果我去Play音乐应用程序,我可以看到音乐,但我的应用程序在打印歌曲列表时省略了这些歌曲。我尝试了其他可以在这里找到的解决方案,但我无法让它们为我工作。
如果我使用它,那么注释掉的URI行会在打开时使应用程序崩溃,尽管这似乎是其他答案的建议。以下是代码的相关部分:
public void getSongList() {
ContentResolver musicResolver = getContentResolver();
Uri musicUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
//Uri musicUri = Uri.parse("content://com.google.android.music.MusicContent/audio");
Cursor musicCursor = musicResolver.query(musicUri, 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());
}
assert musicCursor != null;
musicCursor.close();
}
谢谢,请记住,我对应用开发还是一个新手。
答案 0 :(得分:0)
Google Play音乐不允许第三方应用程序通过任何API访问其音乐 - 您可以期待的唯一音乐是本地存储的音乐。