首页 > 解决方案 > 如何使用 Activity Result API 从外部存储中获取 imageBitmap?

问题描述

我正在尝试使用新的活动结果 Api 从外部存储中获取图像文件。我的合同总是从 else 分支返回 null(在 when 内)。为什么?

class GetImageContract : ActivityResultContract<Unit, Bitmap>() {

    override fun createIntent(context: Context, input: Unit?): Intent {
        val intent = Intent(ACTION_GET_CONTENT)
        intent.type = "image/*"
        return intent
    }

    override fun parseResult(resultCode: Int, intent: Intent?): Bitmap? {
        return when {
            resultCode != Activity.RESULT_OK -> null
            else -> intent?.extras?.get("data") as? Bitmap
        }
    }
}

标签: android

解决方案


推荐阅读