我注意到我的代码行为有些奇怪,并希望有人能解释一下。
String temp = "file:///sdcard/music/05 Folsom Prison Blues.mp3";
String temp2 = "content://media/external/audio/media/10";
Uri uri = Uri.parse(temp);
Cursor musiccursor = null;
musiccursor = managedQuery(uri, null, null, null, null);
try {
if (musiccursor.moveToFirst()) {
String title;
int titleColumn = musiccursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE);
title = musiccursor.getString(titleColumn);
item.setText(title);
}
我注意到的问题是使用 temp2 一切运行正常,我能够获得歌曲的标题。但是使用 temp musiccursor 每次都是空的,所以我们抛出一个空指针异常。知道这里有什么区别吗?我已经尝试过 temp 的编码版本(将空格转换为 %20 等),但这不起作用。我可以使用使用 temp2 创建的 uri 来播放歌曲,使用意图没问题...不确定我在这里缺少什么。
提前致谢!