android11文件夹(安卓11文件系统)

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;
    }

 

android11文件夹(安卓11文件系统)

 

可以看到是将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;
    }

 

android11文件夹(安卓11文件系统)

 

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

 

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

 

itmapBaiDuUtils.saveImageReturnAndFile(bitScaleMap,getApplicationContext());

 

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

android11文件夹(安卓11文件系统)

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论