Android 保存图片到本地并且微信能识别出来
程序员文章站
2022-06-24 16:42:17
Android 图片保存到本地,更新相册,并且打开微信发送图片的时候,可以被识别测了一下,大部分手机都可以适配,不适配的再找别的吧 public static void saveImageToGallery(Bitmap mBitmap) { if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { return; } //...
Android 图片保存到本地,更新相册,并且打开微信发送图片的时候,可以被识别
测了一下,大部分手机都可以适配,不适配的再找别的吧
public static void saveImageToGallery(Bitmap mBitmap) { if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { return; } // 首先保存图片 File appDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsoluteFile(); if (!appDir.exists()) { appDir.mkdir(); } String fileName = System.currentTimeMillis() + ".jpg"; File file = new File(appDir, fileName); try { FileOutputStream fos = new FileOutputStream(file); mBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); fos.flush(); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); return; } catch (IOException e) { e.printStackTrace(); return; } //把文件插入到系统图库 保存的路径为 Environment.DIRECTORY_DCIM 和 下方的 Uri.fromFile(file) 一起用 会造成 部分手机(华为P20 ,OPPO A83 ,美图手机等) 插入两张相同的图片,一张为当前时间 一张为 1970.01.01 时间的; // Google Pixel 的手机 表示 没保存成功,保存之后 找不到,不作处理了,后期再单独优化。 // try { // MediaStore.Images.Media.insertImage(getApplication().getContentResolver(), file.getAbsolutePath(), fileName, null); // } catch (FileNotFoundException e) { // e.printStackTrace(); // } // 注释掉上方插入图库代码, 只去通知更新当前文件, 不影响 微信等正常读取图片 // 最后通知图库更新 Uri.parse("file://" + "") 更新之后,微信识别不出来, // Uri.fromFile(file) 可以被微信识别出来 // getApplication().sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + ""))); getApplication().sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(file))); }
本文地址:https://blog.csdn.net/sinat_32961877/article/details/107709062