android 判断是否有虚拟按键
答案:2 悬赏:0 手机版
解决时间 2021-04-05 10:50
- 提问者网友:伴风望海
- 2021-04-04 22:07
android 判断是否有虚拟按键
最佳答案
- 五星知识达人网友:千夜
- 2021-04-04 22:30
参考如下代码试试看:
//获取是否存在NavigationBar
public static 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;
}
//获取是否存在NavigationBar
public static 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楼网友:第幾種人
- 2021-04-04 23:47
navigationbar是一个坑,下面给出我判断是否存在navigationbar的方法,你试一下。
//获取是否存在navigationbar
public static 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;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯