用于解码意图字符串的代码是什么?

问题描述:

我有一个从uri获取音乐的musicplayer应用程序。我如何从中获得音轨和艺术家的名字? intent.getStringExtra()似乎不起作用。任何想法如何解决这个问题?用于解码意图字符串的代码是什么?

更近的例子。我使用intent.getStringExtra(),我得到的是文件的路径。如果它的名字是“iosbadfipduva.mp3”,那么我的名字就不是像夏奇拉瓦卡瓦卡这样的名字。但是当我在ES文件浏览器等其他文件浏览器中打开它时,它会正确显示名称。他们是怎么做到的?还有最后一个问题。如何从该URI检索作品?

如果我已经正确地得到了你的问题,一旦你有URI你可以从它的TrackID和查询与该的TrackID

String selection="DISTINCT " + MediaStore.Audio.Media._ID+"trackID"; 
String[] projection = {MediaStore.Audio.Media._ID, 
        MediaStore.Audio.Media.TITLE,MediaStore.Audio.Media.ARTIST}; 
Cursor songDetails = getActivity().getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, projection,selection, null, null); 
相关的所有细节