我的 onActivityResult
不工作,因为 getBitmap
已弃用,是否有任何替代代码可以实现这一目标?
这是需要更改的代码,有什么建议吗?
val bitmap = MediaStore.Images.Media.getBitmap(contentResolver, selectedPhotoUri)
getBitmap
被交叉并说它已弃用
最佳答案
这对我有用,
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(requestCode == 1 && resultCode == Activity.RESULT_OK && data != null) {
val selectedPhotoUri = data.data
try {
selectedPhotoUri?.let {
if(Build.VERSION.SDK_INT < 28) {
val bitmap = MediaStore.Images.Media.getBitmap(
this.contentResolver,
selectedPhotoUri
)
imageView.setImageBitmap(bitmap)
} else {
val source = ImageDecoder.createSource(this.contentResolver, selectedPhotoUri)
val bitmap = ImageDecoder.decodeBitmap(source)
imageView.setImageBitmap(bitmap)
}
}
} catch (e: Exception) {
e.printStackTrace()
}
}
}
关于android - 已弃用 API 29 的 "getBitmap"。任何替代代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56651444/