2015年7月24日星期五

android保存图片后相册中不能马上显示的解决、!

android保存图片后相册中不能马上显示的解决、!,有需要的朋友可以参考下。

图片保存至相册后不能马上保存是因为相册不是每次都直接扫描所有目录,而是主要在开机时才扫描,并将图片路径等信息存至
相应数据库,进入相册时直接从数据库读取所有扫描到的图片。所以直接保存图片至目录,相册不能立刻显示出来。解决方法是,
保存图片后,直接把路径等相关信息直接插入数据库即可。
public static boolean saveImgToGallery(String fileName) {
  boolean sdCardExist = Environment.getExternalStorageState().equals(
    android.os.Environment.MEDIA_MOUNTED); // 判断sd卡是否存在
  if (!sdCardExist)
   return false;

  try {
   // String url = MediaStore.Images.Media.insertImage(cr, bmp,
   // fileName,
   // "");
   // app.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri
   // .parse("file://"
   // + Environment.getExternalStorageDirectory())));

   // debug
   ContentValues values = new ContentValues();
   values.put("datetaken", new Date().toString());
   values.put("mime_type", "image/png");
   values.put("_data", fileName);
   // values.put("title", this.a.getString(2131230720));
   // values.put("_display_name", (String)localObject1);
   // values.put("orientation", "");
   // values.put("_size", Integer.valueOf(0));
   Application app = MyApplication.getThis();
   ContentResolver cr = app.getContentResolver();
   cr.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

  } catch (Exception e) {
   e.printStackTrace();
  }
  return true;
 }

没有评论:

发表评论