云网牛站
所在位置:首页 > HarmonyOS问题与回答 > 如何判断设备是否搭载了鸿蒙系统及获取底部虚拟导航栏的高度

如何判断设备是否搭载了鸿蒙系统及获取底部虚拟导航栏的高度

2021-06-22 11:35:36作者:huawei人稿源:HarmonyOS站

问题:如何来判断设备是否搭载了鸿蒙系统?同时,如果是在鸿蒙OS中,如何获取底部虚拟导航栏的高度?

 

问题追加:

还是一名Android开发者,最近在研究如何获取当前运行环境是否是鸿蒙系统。我的思路是通过类名去获取鸿蒙SDK JAVA API的Class对象,通过判断Class对象是否存在判断的,但是我调用了鸿蒙开发文档上的大多数Java API,发现即使在非鸿蒙的华为手机上也能获取到,比如ohos.aafwk.ability.Ability。但唯独源码里的ohos.utils.system.SystemCapability获取不到,只有搭载鸿蒙系统的手机能获取到。

另外,如果已经在鸿蒙OS中了,如何获取底部虚拟导航栏的高度?

如何判断设备是否搭载了鸿蒙系统及获取底部虚拟导航栏的高度

 

回答:

1、可用下面两个类判断:

fun isHarmonyOs(): Boolean {

    return try {

        Class.forName("ohos.app.Application")

        Class.forName("ohos.system.version.SystemVersion")

        true

    } catch (e: ClassNotFoundException) {

        false

    }

}

其它可参考:鸿蒙HarmonyOS如何获取系统版本、当前设备类型和手机型号

2、用如下代码:

/** * 获取状态栏高度 * * @return */ public static int getStatusBarHeight(Context context) {

int result = 0; Point point1 = new Point();

Point point2 = new Point();

Display display = DisplayManager.getInstance().getDefaultDisplay(context).get(); display.getSize(point1); display.getRealSize(point2);

result = (int) (point2.getPointY() - point1.getPointY());

return result;

}

精选文章
热门文章