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"

你可能感兴趣的:(Android10以后保存bitmap到本地不管用)