0

我有一个应用程序将图像保存到 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 的照片库中?

提前致谢

4

1 回答 1

0

我对华为设备也有同样的问题。尝试添加

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

到清单。它对我有用!

于 2013-05-29T11:33:48.907 回答