android - 已弃用 API 29 的 "getBitmap"。任何替代代码?

标签 android gradle kotlin

我的 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/

相关文章:

android - 为什么当应用程序主题更改时我的应用程序崩溃

Kotlin 中的 android.R.id View 绑定(bind)

findbugs - 如何使用 Findbugs 避免 kotlin 文件

android - list 合并失败 : uses-sdk:minSdkVersion 14 cannot be smaller than version L

javascript - Android WebView Javascript 未启用

android 如何包装微调器下拉文本 (android 4)

java - 在不同系统的 Android Studio 上构建失败

android - 如何配置 build.gradle 以使用 Google Play 应用签名上传证书

java - Android:放大和缩小页面 curl

python - 在 pygradle 中使用 PyPi 官方仓库