1. 程式人生 > >禁用Android底部虛擬按鍵

禁用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);