以编程方式触发 MediaStore 的重新扫描
Trigger the rescan of MediaStore programmatically
请注意,新添加的照片(使用 "adb push" 复制到图片文件夹中)未包含在 MediaStore Content Provider 中。有没有办法以编程方式触发重新扫描?
已经尝试过:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse(Environment.getExternalStorageDirectory().getPath())));
和
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse(Environment.getExternalStorageDirectory().getPath() + "/Pictures")));
这似乎不起作用。
广播Intent.ACTION_MEDIA_MOUNTED
在Android4.4后无法使用。
(1) 除了自己使用 MediaScannerWrapper 扫描文件外,还有其他方法可以通过编程方式触发重新扫描吗?
(2)Android什么情况下会重新扫描?
Already tried
您传递的是目录,而不是文件。
is there other way to programatically trigger the rescan?
使用MediaScannerConnection
及其scanFile()
方法。这也需要文件 AFAIK。
请注意,新添加的照片(使用 "adb push" 复制到图片文件夹中)未包含在 MediaStore Content Provider 中。有没有办法以编程方式触发重新扫描?
已经尝试过:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse(Environment.getExternalStorageDirectory().getPath())));
和
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse(Environment.getExternalStorageDirectory().getPath() + "/Pictures")));
这似乎不起作用。
广播Intent.ACTION_MEDIA_MOUNTED
在Android4.4后无法使用。
(1) 除了自己使用 MediaScannerWrapper 扫描文件外,还有其他方法可以通过编程方式触发重新扫描吗?
(2)Android什么情况下会重新扫描?
Already tried
您传递的是目录,而不是文件。
is there other way to programatically trigger the rescan?
使用MediaScannerConnection
及其scanFile()
方法。这也需要文件 AFAIK。