HarmonyOS 鸿蒙Next中如何判断当前设备是不是挖孔屏

HarmonyOS 鸿蒙Next中如何判断当前设备是不是挖孔屏 目前有两台设备分别是 [PAD  MatePad Pro  型号MRX-AL09 HarmonyOS 2.0] [折叠屏手机 mate xs2]

使用已知的判断DisplayCutout方案 均返回null 无法判断是否是挖孔屏设备,请问有哪位大佬知道相关api吗

2 回复

在HarmonyOS鸿蒙Next中,判断当前设备是否为挖孔屏可以通过DisplayManager类来实现。具体步骤如下:

  1. 获取DisplayManager实例:

    const displayManager = display.getDisplayManager();
    
  2. 获取默认的Display对象:

    const defaultDisplay = displayManager.getDefaultDisplay();
    
  3. 通过Display对象的cutoutInfo属性获取挖孔屏信息:

    const cutoutInfo = defaultDisplay.cutoutInfo;
    
  4. 判断cutoutInfo是否存在,若存在则说明设备是挖孔屏:

    if (cutoutInfo) {
        console.log("当前设备是挖孔屏");
    } else {
        console.log("当前设备不是挖孔屏");
    }
    

cutoutInfo对象包含了挖孔屏的具体信息,如挖孔的位置、大小等。通过检查cutoutInfo是否存在,可以判断设备是否为挖孔屏。

更多关于HarmonyOS 鸿蒙Next中如何判断当前设备是不是挖孔屏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙Next)中,可以通过DisplayManager类来获取屏幕信息,进而判断设备是否为挖孔屏。具体步骤如下:

  1. 获取DisplayManager实例。
  2. 调用getDefaultDisplay()方法获取默认的Display对象。
  3. 使用getCutout()方法获取屏幕的挖孔信息。
  4. 如果返回的Cutout对象不为空,则说明设备是挖孔屏。

示例代码:

DisplayManager displayManager = (DisplayManager) getSystemService(Context.DISPLAY_SERVICE);
Display display = displayManager.getDefaultDisplay();
Cutout cutout = display.getCutout();
if (cutout != null) {
    // 设备是挖孔屏
}

通过这种方法,可以准确判断设备是否为挖孔屏。

回到顶部