移动 JPG 文件后如何更新 Android MediaStore

kek*_*986 5 android image move mediastore

我的应用程序将 .jpg 文件移动到其他文件夹,并在我已 sendBroadcast ACTION_MEDIA_MOUNTED 的图库中查看

    sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + 
            Environment.getExternalStorageDirectory() ))); 
Run Code Online (Sandbox Code Playgroud)

但这需要很多时间..我明白(也许)我必须直接使用 mediaStore 中的光标/contentResolver 手动更新才能更快。谁可以帮我这个事?谢谢..我的代码实际上是:

 Uri uri = (Uri) list.get(cont); 
 Cursor cursor = managedQuery(uri, proj, null, null, null);
 int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
 cursor.moveToFirst();
 String app = cursor.getString(column_index);
 File orig =  new File( app.toString());
 File dest = new File( destination_path +"/"+ orig.getName().toString());
 orig.renameTo(dest);
Run Code Online (Sandbox Code Playgroud)

这样我将一个文件从一个路径移动到另一个路径。

之后,要在图库中获取图像,我必须发送Broadcast ACTION_MEDIA_MOUNTED

Kry*_*lez 0

使用 MediaScannerConnection 更新操作系统:

MediaScannerConnection.scanFile(this,
          new String[] { file.toString() }, null,
          new MediaScannerConnection.OnScanCompletedListener() {
      public void onScanCompleted(String path, Uri uri) {
          // code to execute when scanning is complete
      }
 });
Run Code Online (Sandbox Code Playgroud)

  • file 是新创建的文件吗?我已经尝试过这段代码...但在图库中我有新照片(正确)和灰色图像,其中旧路径文件夹作为文件夹名称...就像旧的 jpg 文件不会从媒体存储中自动删除... (2认同)