我的应用程序将 .jpg 文件 move 到其他文件夹并在库存库中查看我有 sendBroadcast ACTION_MEDIA_MOUNTED
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" +
Environment.getExternalStorageDirectory() )));
但这需要很多时间..我已经理解(也许)我必须直接在 mediaStore 中使用 cursor/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);
有了这个,我将文件从一个路径 move 到另一个路径。
在此之后,在图库中获取图像
我必须发送广播 ACTION_MEDIA_MOUNTED
最佳答案
我只需要做同样的事情,使用以下更新 MediaStore
:
ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, newPath);
boolean successMediaStore = context.getContentResolver().update(
MediaStore.<TYPE>.Media.EXTERNAL_CONTENT_URI, values,
MediaStore.MediaColumns.DATA + "='" + oldPath + "'", null) == 1;
将
<TYPE>
替换为正确的媒体存储...( Images
、 Video
、 Audio
...)