[英]Not getting all media files which inserted manullay in sd card
我在下面的查詢中使用了SD卡中的所有圖片或視頻,並且可以正常工作。 但是,當我手動將一些視頻或圖片添加到SD卡的其他文件夾中時,查詢后無法加載。 請就此建議我。
final String[] columns = { MediaStore.Video.Media.DATA,
MediaStore.Video.Media._ID};
final String orderBy = MediaStore.Video.Media.DATE_TAKEN;
Uri videosuri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
Cursor imagecursor = getContentResolver().query(videosuri, columns, null, null, orderBy);
if (imagecursor != null && imagecursor.getCount() > 0) {
while (imagecursor.moveToNext()) {
int video_id=imagecursor.getInt(imagecursor.getColumnIndex(MediaStore.Video.Media._ID));
int dataColumnIndex = imagecursor.getColumnIndex(MediaStore.Video.Media.DATA);
String path=imagecursor.getString(dataColumnIndex);
}
}
當您“將一些視頻或圖片手動添加到其他文件夾中的sd卡中”時,必須更新MediaStore
,以使它們可用於您的查詢以及使用MediaStore
后端的其他應用程序。
通過MTP或諸如Gallery之類的應用程序添加它們將調用MediaScanner
(或類似的過程)將它們添加到MediaStore
,但是通過adb push
或在您自己的代碼中添加它們要求您隨后明確地這樣做。
在代碼中,將圖像或視頻文件寫入SDCard之后,可以通過在類中實現MediaScannerConnectionClient
接口,實例化它,然后調用scan()
,將文件的路徑和MIME類型傳遞給MediaScanner
。 然后, MediaScanner
將打開文件,收集/生成元數據,然后將文件添加到MediaStore
請參閱android-使用此方法將圖片動態添加到圖庫小部件中的示例類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.