我的应用可以拍摄照片并将其存储到指定的文件夹中。 使用ES File explorer,我能够确认图像已存储在SD卡和指定的文件夹中。
但是,我的画廊没有立即显示这张专辑。这将需要相当长的时间。有什么方法可以使用代码立即进行检测吗?
以下广播代码似乎不起作用。我的画廊不会立即刷新以检索新创建的专辑和图像。
请帮助。谢谢!
if (type == MEDIA_TYPE_IMAGE){
mediaFile = new File(mediaStorageDir.getPath() + File.separator +
"IMG_"+ timeStamp + ".png");
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = Uri.fromFile(mediaFile);
mediaScanIntent.setData(contentUri);
v.getContext().sendBroadcast(mediaScanIntent);
}
答案 0 :(得分:2)
完成扫描可能需要一些时间。
如果您愿意,至少可以在完成后收到通知:
MediaScannerConnection.scanFile(
getApplicationContext(),
new String[]{file.getAbsolutePath()},
null,
new OnScanCompletedListener() {
@Override
public void onScanCompleted(String path, Uri uri) {
// file was scanned
}
});
了解更多信息,请阅读here。