我有一个应用程序将图像保存到 sdcard 上的目录中,然后我希望 MediaScanner 将其拾取,以便它们显示在设备上的图库/照片库中。
我的问题
我目前的解决方案在 Galaxy S3、Galaxy Ace 和 Sony Xperia U 上都能正常工作。它不能在 HTC Hero 上工作。
它更新其内容的唯一方法是重新启动设备,因为我将其添加到内容解析器,因此其他设备在添加它时会拾取它。我的代码如下所示。
ContentResolver cr = MyApplication.getAppContext().getContentResolver();
ContentValues values = new ContentValues();
values.put(Images.Media.TITLE,fileName);
values.put(Images.Media.DISPLAY_NAME,photoName);
values.put(Images.Media.DATE_TAKEN, currentPhoto.getTimestamp());
values.put(Images.Media.MIME_TYPE, "image/jpeg");
values.put(Images.Media.ORIENTATION, rotation);
values.put(Images.Media.LATITUDE,currentPhoto.getLatitude());
values.put(Images.Media.LONGITUDE, currentPhoto.getLongitude());
values.put(Images.Media.DATA,MainActivity.APP_GALLERY_STORAGE_PATH+File.separator+fileName);
cr.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
我的问题
如何强制重新扫描或更新 MediaScanner,以便在不重新启动设备的情况下将新添加到该目录的图像显示在 HTC Hero 的照片库中?
提前致谢