android 11保存可以拷贝的文件(安卓原生开发android10android11文件存储问题)

1.以下文件的存储方法,在android10中是可以用的,存储的位置是在,手机存储的根目录

public static File saveImageReturnFile(Bitmap bmp) { File appDir = new File(Environment.getExternalStorageDirectory(), "TestPhotos"); if (!appDir.exists()) { appDir.mkdir(); } String fileName = System.currentTimeMillis() ".jpg"; File file = new File(appDir, fileName); try { FileOutputStream fos = new FileOutputStream(file); bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos); fos.flush(); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return file; }

android 11保存可以拷贝的文件(安卓原生开发android10android11文件存储问题)(1)

可以看到是将bitmap,在手机存储的根目录创建一个Testphotos,然后放图片文件.

上面的这种方式在android10中是不会报错的,亲测,但是如果你的系统升级到了android11就会报错,

这个时候用方式2吧.

2.这种方式

tempzmFile = BitmapBaiDuUtils.saveImageReturnAndFile(bitScaleMap,getApplicationContext());

//保存压缩后的人脸照片 public static File saveImageReturnAndFile(Bitmap bmp,Context appContext) { File file = null; try { ContextWrapper contextWrapper = new ContextWrapper(appContext); //String fileName = System.currentTimeMillis() ".jpg"; String fileName = "test_zm.jpg"; File directory = contextWrapper.getDir("ComprassPhotos", Context.MODE_PRIVATE); file = new File(directory, fileName); Log.d(TAG, file.toString()); if (file.exists()) { file.delete(); } FileOutputStream fos = new FileOutputStream(file); bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos); fos.flush(); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); return file; } catch (IOException e) { e.printStackTrace(); return file; } return file; }

android 11保存可以拷贝的文件(安卓原生开发android10android11文件存储问题)(2)

可以看到上面就是在,我们的程序的目录中去创建,ComprassPhotos这个目录,这样是没问题的,这样

不管是android10,还是android11,都可以进行图片的存取不会报错了.test_zm.jpg 给图片起一个名字,每次先删除,这个文件,再去存一下,存了以后,实际上我的用处是,把文件上传到服务器.就没有用了.所以每次存之前都删除.

itmapBaiDuUtils.saveImageReturnAndFile(bitScaleMap,getApplicationContext());

这里的,getApplicationContext ,是上下文,通过这个可以获取程序的安装目录.

android 11保存可以拷贝的文件(安卓原生开发android10android11文件存储问题)(3)

android 11保存可以拷贝的文件(安卓原生开发android10android11文件存储问题)(4)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页