zoukankan      html  css  js  c++  java
  • MediaStore扫描 & 向MediaStore中插入文件记录

    通知MediaStore扫描某个文件:
    private void scanSingleFile(String filePath) { if (filePath == null) { return; } // broadcast to scan file boolean bmnt = Environment.getExternalStorageDirectory().getPath() .startsWith("/mnt"); bmnt = mDownloadDestination .equalsIgnoreCase(UpDownloadUtils.DOWNLOAD_DEST_SDCARD) ? bmnt : false; File file = new File(bmnt ? ("/mnt" + filePath) : filePath); MediaScannerConnection.scanFile(mContext, new String[] { file.toString() }, null, new MediaScannerConnection.OnScanCompletedListener() { @Override public void onScanCompleted(String path, Uri uri) { ContentResolver cr = mContext.getContentResolver(); long datemodified = 0; long dateadded = 0; Cursor cursor = cr.query(uri, null, null, null, null); if (cursor != null && cursor.moveToFirst()) { datemodified = cursor.getLong(cursor .getColumnIndex(MediaStore.MediaColumns.DATE_MODIFIED)); dateadded = cursor.getLong(cursor .getColumnIndex(MediaStore.MediaColumns.DATE_ADDED)); cursor.close(); } ContentValues values = new ContentValues(); if (datemodified > 0 && String.valueOf(datemodified).length() > 10) { values.put(MediaStore.MediaColumns.DATE_MODIFIED, datemodified / 1000); } if (dateadded > 0 && String.valueOf(dateadded).length() > 13) { values.put(MediaStore.MediaColumns.DATE_ADDED, dateadded / 1000); } if (values.size() > 0) { cr.update(uri, values, null, null); } } }); }

    向MediaStore中插入文件记录
                ContentValues newValues = new ContentValues(6);
                String title = FileName.substring(0, pointIndex);
                newValues.put(MediaStore.Images.Media.TITLE,
                        FileName.substring(0, pointIndex));
                newValues.put(MediaStore.Images.Media.DISPLAY_NAME,
                        sourceFile.getName());
                newValues.put(MediaStore.Images.Media.DATA, sourceFile.getPath());
                newValues.put(MediaStore.Images.Media.DATE_MODIFIED,
                        System.currentTimeMillis() / 1000);
                newValues.put(MediaStore.Images.Media.SIZE, sourceFile.length());
                newValues.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
                uri = contentResolver.insert(
                        MediaStore.Images.Media.EXTERNAL_CONTENT_URI, newValues);
    
    
    
     
  • 相关阅读:
    读《持续交付2.0》
    “兼职”运维的常用命令
    技术管理者怎样跳出“泥潭”
    使用RabbitMQ实现接口补偿
    dotNET Core 中怎样操作 AD?
    dotNET Core实现分布式环境下的流水号唯一
    Git 远程仓库
    分之管理
    git 基本操作----git diff
    git 基本操作----git reset、log
  • 原文地址:https://www.cnblogs.com/androidwsjisji/p/2737604.html
Copyright © 2011-2022 走看看