我正在尝试找到一种方法来通过uri在mediastore中查询单个文件。我有一个uris列表,我想在我的应用程序中提供这些uris的附加信息。
例如: content://media/external/audio/media/10
或
file:///sdcard/media/audio/sample.mp3
这是我正在处理的代码。我不确定id应该是什么?
String[] cols = new String[] {
MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.TITLE
};
String where = MediaStore.Audio.Media._ID + "=" + id;
String[] proj = { MediaStore.Audio.Media._ID, MediaStore.Audio.Media.DATA, MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Video.Media.SIZE, MediaStore.Audio.Media.ALBUM };
Cursor musiccursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, proj, null, cols, null);提前谢谢。
发布于 2011-07-15 23:44:25
好了,我想通了。这是我想要的信息的链接:
http://developer.android.com/guide/topics/providers/content-providers.html
下面是完成这项任务的代码:
Uri uri = Uri.parse("content://media/external/audio/media/10");
Cursor musiccursor = managedQuery(uri, null, null, null, null);
if (musiccursor.moveToFirst()) {
String title;
int titleColumn = musiccursor.getColumnIndex(MediaStore.Audio.Media.TITLE);
title = musiccursor.getString(titleColumn);
} 发布于 2012-03-23 05:20:56
没有必要获取一列的所有内容。试试这个:
Uri uri = Uri.parse("content://media/external/audio/media/10");
String[] columns = new String[] {MediaStore.Audio.Media.TITLE};
Cursor musiccursor = managedQuery(uri, columns, null, null, null);
if (musiccursor.moveToFirst()) {
String title = musiccursor.getString(0);
} https://stackoverflow.com/questions/6699979
复制相似问题