zoukankan      html  css  js  c++  java
  • android 将imageview的图片保存到手机后,并通知显示。(文件管理相应的目录可以找到,图片中也是可以找到。)

    将imageview中的图片,保存到相册以后,不管在哪里都找不到,

    只有通过文件管理中的查找具体的文件,才可以找到。否则重启手机也是可以在指定位置找到的。

    sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,
                                Uri.fromFile(new File(picPath))));//通知刷新

    直接上代码:

    private void saveImage(Bitmap bitmap){
    try {
                String filename = System.currentTimeMillis() + ".jpg";
                File outFile = new File(outDir, filename);
                FileOutputStream fos = new FileOutputStream(outFile);
    
                boolean flag = bitmap.compress(
                        Bitmap.CompressFormat.JPEG, 100, fos);// 把数据写入文件
                if (flag) {
                    String picPath = outFile.getAbsolutePath();
                    LogUtil.i(TAG,picPath); 

    try { fos.flush(); fos.close();
                //以下这一句是关键,否则保存了以后,不能即时刷新,所以不管哪里都找不到,除非你重启手机。
                        mContext.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,
                                Uri.fromFile(new File(picPath))));
                    } catch (IOException e) {
                        LogUtil.e(TAG, e.toString());
                    }
                } else {
                    LogUtil.i(TAG, getString(R.string.wz_pic_save_error));
                }
            } catch (FileNotFoundException e) {
                throw new RuntimeException(e);
            }
    }

    以上只通知保存成功的文件刷新即可。

    调用:

    ImageView iv;

    iv.buildDrawingCache(true);
    iv.buildDrawingCache();
    bitmap = iv.getDrawingCache();
    .... 调用,当然也可以将这代码合并到上面的方法中。
    iv.setDrawingCacheEnabled(false);

     下面的说明是早期版本中的说明,现在的新版本以上面为准。

    1.     在调用getDrawingCache()方法从ImageView对象获取图像之前,一定要调用setDrawingCacheEnabled(true)方法:
    
                iv_photo.setDrawingCacheEnabled(true);
    
            否则,无法从ImageView对象iv_photo中获取图像;
    
    2.     在调用getDrawingCache()方法从ImageView对象获取图像之后,一定要调用setDrawingCacheEnabled(false)方法:
    
                iv_photo.setDrawingCacheEnabled(false);
    
            以清空画图缓冲区,否则,下一次从ImageView对象iv_photo中获取的图像,还是原来的图像。

    https://blog.csdn.net/weichushun/article/details/48034721

    道法自然
  • 相关阅读:
    D365 FO操作FTP
    D365 FO凭证信息客制化
    input type = number 去除上下箭头,禁用滚轮事件(默认的自带滚轮加减数字)
    touch事件中的touches、targetTouches和changedTouches详解
    css媒体查询
    JavaScript:闭包
    JavaScript:基本包装类型
    十大模板引擎
    关于模板引擎一
    eval详解
  • 原文地址:https://www.cnblogs.com/jiduoduo/p/14837889.html
Copyright © 2011-2022 走看看