当我尝试使用光标扫描外部卡时,它什么也没有返回。这是我的代码,
Cursor mediaCursor = getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
mediaColumns, null,null,null);
// Loop through results
if ((mediaCursor != null) && mediaCursor.moveToFirst()) {
do {
// Get video id
int id = mediaCursor.getInt(mediaCursor
.getColumnIndex(MediaStore.Video.Media._ID));
// Get the thumbnail associated with the video
@SuppressWarnings("deprecation")
Cursor thumbnailCursor = managedQuery(
MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI,
thumbnailColumns, MediaStore.Video.Thumbnails.VIDEO_ID
+ "=" + id, null, null);
// New movie object from the data
Moovi movie = new Moovi(mediaCursor, thumbnailCursor);
Log.d(LOG_TAG, movie.toString());
// Add to movie list
movieList.add(movie);
} while (mediaCursor.moveToNext());
}
此代码有什么问题。任何人都可以建议一种方法来解决这个问题
答案 0 :(得分:1)
首先检查您是否可以从mediaCursor
获得任何结果。仅将MediaStore.Video.Media._ID
放入columns参数中。像这样:
Cursor mediaCursor = getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
new String[]{MediaStore.Vide.Media._ID}, null,null,null);
然后检查结果。
你添加了
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
在您的清单文件中?