我已经经历了很多stackoverflow问题,但我无法找到答案。图像文件有一个答案,但在我的情况下不起作用。
所以我使用file.getAbsolutePath()
获得了文件的绝对路径。但我需要将其转换为contentUri,以便下面的查询工作正常。
Cursor tempCursor = context.getContentResolver().query(uri,
proj, null, null, null);
它不起作用。我试过Uri.parse(contentUri)
,但我猜不会给出内容。请帮助我,我很久以前就被卡住了。谢谢!!
答案 0 :(得分:1)
您不使用get.absolute等。只需查询Medfiastore.Audio等,然后带回_id和_DATA。 _id是歌曲ID,_DATA具有完整路径和曲目
在您可以使用的一段代码下面。只需输入曲目名称
即可 public String getThisTrackId(Context context, String trackName) {
ContentResolver cr = context.getContentResolver();
final String _id = MediaStore.Audio.Media._ID;
final String path = MediaStore.Audio.Media.DATA;
final String[] columns = { _id };
final String[] trackname = { "%"+ trackName +"%" };
String where = path + " LIKE ?";
String strtrack_id = null;
Cursor crs =cr.query(uri, columns, where, trackname, null);
if(crs!= null && crs.moveToFirst()){
strtrack_id = crs.getString(crs.getColumnIndexOrThrow(_id));
crs.close();
}
return strtrack_id;
}