我有一个应用程序将图像保存到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的照片库中显示新添加的图像到该目录?
提前致谢
答案 0 :(得分:0)
我的华为设备遇到了同样的问题。尝试添加
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
到了manisfest。它为我工作!!