禁用Android底部虚拟按键

Android设备屏幕底部一般都有虚拟按键,上面有 back、home等按钮。

网上搜索到的在代码中通过隐藏导航栏的方法来禁止虚拟按键,例如:

View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);        

该方法虽然点击屏幕也不能唤出导航栏,但是在底部下往上滑还是会弹出虚拟导航栏。
还有一种办法是直接禁用虚拟按键,但是底部会是黑色,只是没有了back键和home键
Manifest添加权限

<uses-permission android:name="android.permission.STATUS_BAR_SERVICE" />
<uses-permission android:name="android.permission.STATUS_BAR" />

通过StatusBarManager禁用虚拟按键

StatusBarManager statusBarManager = (StatusBarManager) mActivty.getSystemService("statusbar");
int flag =StatusBarManager.DISABLE_HOME|StatusBarManager.DISABLE_BACK|StatusBarManager.DISABLE_SEARCH|StatusBarManager.DISABLE_RECENT;
statusBarManager.disable(flag);

你可能感兴趣的:(开发日志)