首页 > 解决方案 > 如何确定安卓设备是否有缺口和软键?

问题描述

我试图找出一个android设备是否有软键缺口。我可以通过这个逻辑找出软键的存在:

    private fun hasSoftKeys(windowManager: WindowManager): Boolean {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            val d = windowManager.defaultDisplay
            val realDisplayMetrics = DisplayMetrics()
            d.getRealMetrics(realDisplayMetrics)
            val realHeight = realDisplayMetrics.heightPixels
            val realWidth = realDisplayMetrics.widthPixels
            val displayMetrics = DisplayMetrics()
            d.getMetrics(displayMetrics)
            val displayHeight = displayMetrics.heightPixels
            val displayWidth = displayMetrics.widthPixels
            return realWidth - displayWidth > 0 || realHeight - displayHeight > 0
        } else {
            return false
        }
    }

但是对于带有notch的设备来说它失败了。任何帮助将不胜感激。

标签: androidnavigationoperating-system

解决方案


推荐阅读