Android(安卓)中判断是否存在虚拟按键
16lz
2021-01-24
在开发中,我们很多时候需要判断手机是否存在虚拟按键来进行适配,今天楼主分享个有效判断的方法。
//获取是否存在NavigationBar public boolean checkDeviceHasNavigationBar(Context context) { boolean hasNavigationBar = false; Resources rs = context.getResources(); int id = rs.getIdentifier("config_showNavigationBar", "bool", "android"); if (id > 0) { hasNavigationBar = rs.getBoolean(id); } try { Class systemPropertiesClass = Class.forName("android.os.SystemProperties"); Method m = systemPropertiesClass.getMethod("get", String.class); String navBarOverride = (String) m.invoke(systemPropertiesClass, "qemu.hw.mainkeys"); if ("1".equals(navBarOverride)) { //不存在虚拟按键 hasNavigationBar = false; } else if ("0".equals(navBarOverride)) { //存在虚拟按键 hasNavigationBar = true; } } catch (Exception e) { } return hasNavigationBar; }
更多相关文章
- WebView深究之Android是如何实现webview初始化的
- Android(安卓)webview加载富文本 屏幕简单适配
- android中setVisibility的用法
- Android(安卓)混淆配置文件及常用第三方混淆
- 下载 android 源码错误curl: (6) couldn't connect to host的解
- Android消息机制2-Handler(Native层)
- 监听Android键盘上的按钮
- React Native与Android之间的通信
- android中获取view的位置