我正在构建一个Camera应用程序并在拍照后(在写入PictureCallback中的文件之后),我想更新设备上的媒体文件,因此我使用MediaScannerConnection(如下面的代码所示)。但是,我无法在设备上的图库应用程序中查看图像。但是我可以在PC上查看图像(图像在SD卡上)。我错过了什么吗?
MediaScannerConnection.scanFile(this,
new String[] {pictureFile.toString()}, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.d("ExternalStorage", "Scanned " + path + ":");
Log.d("ExternalStorage", "-> uri=" + uri);
}
});
答案 0 :(得分:8)
我认为以下内容可能会有所帮助(来自android-developers mailing list archive):
哦,男人......经过3天的搜索和困扰一对情人 终于找到了解决方案..这一行代码:
sendBroadcast(new Intent( Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));
这就是它......它发送了一个mediascanner自己启动的意图,瞧,整个外部存储器搜索媒体..找到新项目,删除那些不再存在的项目。