媒体扫描仪不拾取某些设备上的图像

时间:2012-10-23 15:16:44

标签: android android-contentresolver android-mediascanner

我有一个应用程序将图像保存到SD卡上的目录,然后我想让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的照片库中显示新添加的图像到该目录?

提前致谢

1 个答案:

答案 0 :(得分:0)

我的华为设备遇到了同样的问题。尝试添加

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
到了manisfest。它为我工作!!