Android10以后保存bitmap到本地不管用

/**

* 保存图片到图库

    * @param bmp

    */

    public static void saveFile( Bitmap bmp) {

// 首先保存图片

        File appDir =new File(Environment.getExternalStorageDirectory(),

                "sshs");

        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();

        }

// 其次把文件插入到系统图库

        try {

MediaStore.Images.Media.insertImage(context.getContentResolver(),

                    file.getAbsolutePath(), fileName, null);

        }catch (FileNotFoundException e) {

e.printStackTrace();

        }

// 最后通知图库更新

 context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,

 Uri.fromFile(new File(file.getPath()))));

除了这些代码 关键点是在application节点上加个android:requestLegacyExternalStorage="true"

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容