美文网首页
Android 10 分区储存适配, 保存图片到系统相册

Android 10 分区储存适配, 保存图片到系统相册

作者: da7091fa95b5 | 来源:发表于2022-07-14 17:58 被阅读0次

    关键代码:
    '''

            val bitName = "${UUID.randomUUID()}.jpg"
            try {
                val saveFile = File(
                    Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),
                    bitName
                )
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
                    val values = ContentValues()
                    values.put(MediaStore.Images.Media.DISPLAY_NAME, bitName)
                    values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpg")
                    values.put(
                        MediaStore.MediaColumns.RELATIVE_PATH,
                        "${Environment.DIRECTORY_PICTURES}/"
                    )
                    val uri = context.contentResolver.insert(
                        MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                        values
                    )!!
                    context.contentResolver?.openOutputStream(uri).use { output ->
                        if (bitmap.compress(Bitmap.CompressFormat.JPEG, 90, output)) {
                            output?.flush()
                        }
                    }
                } else {
                    FileOutputStream(saveFile).use {
                        if (bitmap.compress(Bitmap.CompressFormat.JPEG, 90, it)) {
                            it.flush()
                        }
                    }
                }
                // android Q也可以用这个方法扫描图片
                MediaScannerConnection.scanFile(
                    context,
                    arrayOf(saveFile.absolutePath),
                    arrayOf("image/jpeg")
                ) { _, _ ->
                }
                // 保存成功
            } catch (e: Exception) {
                // 出错
            }
    

    最后通知系统扫描图片的方法AndroidQ也有效, 传入图片绝对路径就可以

    相关文章

      网友评论

          本文标题:Android 10 分区储存适配, 保存图片到系统相册

          本文链接:https://www.haomeiwen.com/subject/rnrfirtx.html