在开发中,我们很多时候需要判断手机是否存在虚拟按键来进行适配,今天楼主分享个有效判断的方法。

//获取是否存在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;    }

更多相关文章

  1. WebView深究之Android是如何实现webview初始化的
  2. Android(安卓)webview加载富文本 屏幕简单适配
  3. android中setVisibility的用法
  4. Android(安卓)混淆配置文件及常用第三方混淆
  5. 下载 android 源码错误curl: (6) couldn't connect to host的解
  6. Android消息机制2-Handler(Native层)
  7. 监听Android键盘上的按钮
  8. React Native与Android之间的通信
  9. android中获取view的位置

随机推荐

  1. android studio 读取短信
  2. android ping
  3. Android中CheckBox复选框操作
  4. android 6.0权限全面详细分析和解决方案
  5. android 图片水平显示,类Gallery效果
  6. Android调用MediaScanner进行扫描
  7. linux tar.gz zip 解压缩 压缩命令
  8. 改变 Android(安卓)EditText 的边框
  9. Android(安卓)三种方式实现圆形ImageView
  10. Android(安卓)Activity设置全屏