簡體   English   中英

無法獲取在SD卡中插入了Manullay的所有媒體文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM