zoukankan      html  css  js  c++  java
  • Android将图片保存到相册并及时看到

      Android中将图片保存到SD卡中,相册里不会及时出现这张图片,因为没有及时更新其索引,一般需要开机几次。当然我们可以手动更新其索引。

          1,首先将文件保存到SD卡中。

         String filePath = "xxx"; //全路径

                  saveImgToSDcard(filePath);

          2,增加Android 内部媒体索引。

        

    public boolean saveImgToGallery(String filePath) {
    
        boolean sdCardExist = Environment.getExternalStorageState().equals(
    
        android.os.Environment.MEDIA_MOUNTED); // 判断sd卡是否存在
    
        if (!sdCardExist)
    
          return false; 
    
          try {
    
            ContentValues values = new ContentValues();
    
            values.put("datetaken", new Date().toString());
    
            values.put("mime_type", "image/jpg");
    
            values.put("_data", filePath);
    
            Application app = DoctorApplication.getInstance();
    
            ContentResolver cr = app.getContentResolver();
    
            cr.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
    
          } catch (Exception e) {
    
            e.printStackTrace();
    
          }
    
          return true;
    
        }
    

        3,刷新filePath的上一级目录

        

    MediaScannerConnection.scanFile(MyLanJingCode.this,new String[] { Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getPath()+ "/"+ filePath.getParentFile().getAbsolutePath() }, null,null);
    

     

        这样就能及时在相册中看到增加的图片了。

  • 相关阅读:
    ManualResetEvent详解
    MEF搜索范围
    ThreadStart和ParameterizedThreadStart区别
    快速理解C#高级概念(一) Delegate委托
    c# 多线程 --Mutex(互斥锁)
    sql server 得到数据库字典
    遇到的坑:在线用户统计的实现
    asp.net core 使用EF7 Code First 创建数据库,同时使用命令创建数据库
    使用cachemanager做缓存(Session的缓存)
    C# web api返回类型设置为json的两种方法
  • 原文地址:https://www.cnblogs.com/lsc183/p/4315479.html
Copyright © 2011-2022 走看看