gpt4 book ai didi

android检测三星Galaxy S8导航栏以编程方式隐藏或显示

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:28:02 25 4
gpt4 key购买 nike

在某些设备上,例如三星 S8,导航栏可以隐藏或显示,这在某些情况下是一个问题。 Samsung S8's navigation bar can be hide or show by click left bottom button

即使在 Android 源代码中,我也没有找到直接确定的方法。

然后我用谷歌搜索了一些问题,比如A good solution to check for navigation bar , 但它没有帮助。

非常感谢任何帮助。

最佳答案

首先,感谢原作者:https://www.jianshu.com/p/ddfbabd614b6

对于三星手机(即 S8、S9 等),您可以通过监听三星事件来检测导航栏是否显示。

private static final String SAMSUNG_NAVIGATION_EVENT = "navigationbar_hide_bar_enabled";

然后只听这个事件,然后做你的事:

private void checkNavigationBar() {
if (isSamsungVersionNougat()) { // check if Samsung phones
// detect navigation bar
try {
// there are navigation bar
if (Settings.Global.getInt(activity.getContentResolver(), SAMSUNG_NAVIGATION_EVENT) == 0) {
// Your code
// example: galleryViewModel.navigationBarHeight.set(getNavigationBarHeight());
} else { // there are no navigation bar
// Your code
// example: galleryViewModel.navigationBarHeight.set(0);
}
} catch (Exception ignored) {
}
barHideEnableObserver = new BarHideEnableObserver(new Handler());
activity.getContentResolver().registerContentObserver(
Settings.Global.getUriFor(SAMSUNG_NAVIGATION_EVENT),
true, barHideEnableObserver);
} else {
galleryViewModel.navigationBarHeight.set(getNavigationBarHeight());
}
}

关于android检测三星Galaxy S8导航栏以编程方式隐藏或显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46107474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com