/**
* 将图片在相册显示
*/
private fun updatePhotoAlbum(bitmap: Bitmap, file: File) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
val values = ContentValues()
values.put(MediaStore.Images.Media.DATA, file.absolutePath)
values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg")
//将项直接插入到MediaStore 将自动扫描它们
val uri: Uri? = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values)
} else {
MediaScannerConnection.scanFile(this, arrayOf(file.absolutePath), arrayOf("image/png")) { _, _ ->
object : Thread() {
override fun run() {
super.run()
saveBitmap(bitmap)
}
}.start()
}
}
}
@RequiresApi(Build.VERSION_CODES.Q)
fun saveBitmap(bitmap: Bitmap) {
val values = ContentValues()
values.put(MediaStore.Images.Media.DESCRIPTION, "This is an image")
values.put(MediaStore.Images.Media.DISPLAY_NAME, "Image.png")
values.put(MediaStore.Images.Media.MIME_TYPE, "image/png")
values.put(MediaStore.Images.Media.TITLE, System.currentTimeMillis().toString() + ".png")
values.put(MediaStore.Images.Media.RELATIVE_PATH, "DCIM/Camera")
val external = MediaStore.Images.Media.EXTERNAL_CONTENT_URI
val resolver: ContentResolver = contentResolver
val insertUri: Uri? = resolver.insert(external, values)
var os: OutputStream? = null
if (insertUri != null) {
try {
os = resolver.openOutputStream(insertUri)
bitmap.compress(Bitmap.CompressFormat.PNG, 90, os)
} catch (e: IOException) {
e.printStackTrace()
} finally {
try {
os?.close()
} catch (e: IOException) {
e.printStackTrace()
}
}
}
}
Android下载到本地的图片在相册显示
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...