我正在查询Android歌曲数据。我有这个代码
System.out.println("URI COL: " + musicCursor.getString(uriColumn));
Uri uri = Uri.fromFile(new File(musicCursor.getString(uriColumn)));
System.out.println("URI IS: " + uri.toString());
但是输出不对。
URI COL:
/ storage / emulated / 0 / amazonmp3 / Red Hot Chili Peppers / Stadium Arcadium / 01 Dani California.wma
URI IS:file:///storage/emulated/0/amazonmp3/Red%20Hot%20Chili%20Peppers/Stadium%20Arcadium/01%20Dani%20California.wma
我试图解析Uri列并尝试使用fromFile方法,但这两种方法都没有给我我需要的格式。
This answer显示了我的问题的示例,但没有解决方案。
Uri - content:// media / internal / audio / media / 29 ::是我需要的格式。
路径 - /system/media/audio/notifications/Ascend.mp3 ::是我得到的格式。
我只需要这种格式,因为看起来Android游标只能以这种格式工作,这完全不合逻辑,特别是当DATA列只显示给你文件路径时。