Android api28文件存储,android - 将位图保存到Android API 28中的外部存储中,结果为0 B文件 - SO中文参考 - www.soinside.com...

将位图保存到Android API 28中的外部存储中,结果为0 B文件

问题描述 投票:2回答:1

我正在尝试将位图保存到外部存储。我使用了在android - save image into gallery中找到的代码。但是,结果文件的大小为0 B,但确实包含缩略图。我的代码是:private fun saveBitmap(bitmap: Bitmap, name: String) {

val contentValues = contentValuesOf(

MediaStore.MediaColumns.TITLE to name,

MediaStore.MediaColumns.DISPLAY_NAME to name,

MediaStore.MediaColumns.MIME_TYPE to "images/jpeg",

MediaStore.MediaColumns.DATE_ADDED to System.currentTimeMillis()

)

val resolver = contentResolver

val uri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues)

val outputStream = resolver.openOutputStream(uri!!)!!

bitmap.compress(Bitmap.CompressFormat.JPEG, 80, outputStream)

outputStream.flush()

outputStream.close()

}

android

1个回答

0

投票

而不是保存为JPEG,请尝试另存为PNGtry (FileOutputStream out = new FileOutputStream(filename)) {

bmp.compress(Bitmap.CompressFormat.PNG, 100, out); // bmp is your Bitmap instance

// PNG is a lossless format, the compression factor (100) is ignored

} catch (IOException e) {

e.printStackTrace();

}

[请找到类似的问题,回答here

也如评论中所述,请检查,您是否已获得读/写访问权限?如果没有,请参考下面的代码。if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {

Log.v(TAG,"Permission is granted");

//File write logic here

return true;

}

热门问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值