遇到一個問題诲祸,就是在判斷是否有虛擬按鍵的時候大部分機型可以土铺,只有vivo X9獲取到的虛擬按鍵是錯誤的访圃,然后看到如下代碼理郑,是通過判斷是否有物理返回按鍵來處理的(測試通過機型:vivo X9肴甸、小米4攒钳、huawei P6、魅族)
直接看代碼
public static boolean checkDeviceHasNavigationBar2(Context activity) {
//通過判斷設備是否有返回鍵雷滋、菜單鍵(不是虛擬鍵,是手機屏幕外的按鍵)來確定是否有navigation bar
boolean hasMenuKey = ViewConfiguration.get(activity)
.hasPermanentMenuKey();
boolean hasBackKey = KeyCharacterMap
.deviceHasKey(KeyEvent.KEYCODE_BACK);
if (!hasMenuKey && !hasBackKey) {
// 做任何你需要做的,這個設備有一個導航欄
return true;
}
return false;
}