기존 사용코드 

SDK 30 이상에서는 더 이상 사용 하면안됨.

val metrics = DisplayMetrics()
windowManager.defaultDisplay.getRealMetrics(metrics)

 

 

대응코드

private fun getDisplayMetrics(): DisplayMetrics? {
    val defaultDisplay = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
        DisplayManagerCompat.getInstance(this@IdCameraActivity).getDisplay(Display.DEFAULT_DISPLAY)
    } else {
        @Suppress("DEPRECATION")
        windowManager.defaultDisplay
    }

    val displayMetrics = defaultDisplay?.let { it ->
        val displayContext = createDisplayContext(it)
        displayContext.resources.displayMetrics
    }

    return displayMetrics
}

 

사용방법

getDisplayMetrics()?.let { metrics ->
	// metrics 사용하면됨.
}

+ Recent posts