Android 系统导航栏模式切换与查询
导航栏模式对应的 Overlay 包名
三按钮模式:
- 包名:
com.android.internal.systemui.navbar.threebutton
- 包名:
两按钮模式:
- 包名:
com.android.internal.systemui.navbar.twobutton
- 包名:
手势导航模式:
- 包名:
com.android.internal.systemui.navbar.gestural
- 包名:
传统导航模式:
- 包名:
com.android.internal.systemui.navbar.no_navbar
- 包名:
切换导航栏模式
启用特定的导航栏模式
使用以下命令通过 ADB 切换到所需的导航栏模式:
切换到手势导航模式:
1
2
3
4
5adb shell cmd overlay enable com.android.internal.systemui.navbar.gestural
- **切换到两按钮导航模式**:
```bash
adb shell cmd overlay enable com.android.internal.systemui.navbar.twobutton切换到三按钮导航模式:
1
adb shell cmd overlay enable com.android.internal.systemui.navbar.threebutton
切换到传统导航模式:
1
adb shell cmd overlay enable com.android.internal.systemui.navbar.no_navbar
禁用其他导航栏模式的 Overlay
确保启用了唯一的导航栏模式时,需要禁用其他的模式:
1 | adb shell cmd overlay disable com.android.internal.systemui.navbar.twobutton |
发送广播通知系统
切换模式后,需要发送以下广播通知系统:
1 | adb shell am broadcast -a com.ifpdos.action.navigation_change |
查询当前导航栏模式
要获取当前启用的导航栏模式,可以通过以下命令列出当前启用的 Overlay 包:
1 | adb shell cmd overlay list | grep '\[x\]' |
然后,检查以下 Overlay 包名是否已启用,以确定当前的导航栏模式:
com.android.internal.systemui.navbar.gestural: 手势导航模式com.android.internal.systemui.navbar.twobutton: 两按钮导航模式com.android.internal.systemui.navbar.threebutton: 三按钮导航模式com.android.internal.systemui.navbar.no_navbar: 传统导航模式
判断导航栏模式代码
1 | fun getCurrentNavigationBarMode(context: Context): NavigationBarMode { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 BravestSnail's Blog!