以编程方式触发MediaStore的重新扫描

时间:2015-07-28 19:38:06

标签: android android-contentprovider android-mediascanner

请注意,新添加的照片(使用" adb push"复制到Pictures文件夹中)不包含在MediaStore内容提供商中。有没有办法以编程方式触发重新扫描?

已经尝试过:

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")));

似乎不起作用。

Android 4.4之后无法使用广播Intent.ACTION_MEDIA_MOUNTED

(1)除了使用MediaScannerWrapper自己扫描文件外,还有其他方式以编程方式触发重新扫描吗?

(2)在什么情况下重新扫描会在Android中发生?

1 个答案:

答案 0 :(得分:1)

  

已经尝试过了

您正在传递目录,而不是文件。

  

还有其他方式以编程方式触发重新扫描吗?

使用MediaScannerConnection及其scanFile()方法。这也需要文件AFAIK。