Before 2022/Android

안드로이드 Q Scoped Storage 대응(Glide 예제)

Eljoe 2020. 8. 7. 16:55
val projection = arrayOf(MediaStore.Images.Media._ID, MediaStore.Images.Media.DISPLAY_NAME, MediaStore.Images.Media.DATE_TAKEN) 

contentResolver.query(uri, projection, null, null)?.let {
    with(it) {
        if(moveToFirst()) {
            val id = getLong(getColumnIndex(MediaStore.Images.Media._ID)) 
            val contentUri = Uri.withAppendedPath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, id.toString()) 
            Glide.with(this@Activity).load(contentUri).into(iv_profile)
        }
        close()
    }
} ?:run {
    showToast(this, "사진이 없습니다.")
    Glide.with(this).load(R.drawable.no_profile).into(iv_profile)
}