2012-02-08 54 views
6

ICS/HC有沒有辦法檢測用戶是否有權訪問硬件菜單鍵?Android 4.0檢測用戶是否有硬件返回/主頁鍵

根據我希望改變動作條的填充方式配置,e.g:

如果用戶有一個物理Home按鍵,減少動作條顯示按鈕的數量。

感謝, 勞倫斯

+0

爲什麼你在操作欄中有這些內容?他們已經在系統欄中。 – 2012-02-08 23:46:43

+0

一個例子是搜索鍵,如果用戶有我不想在操作欄中顯示的搜索鍵。 – Ljdawson 2012-02-08 23:48:25

+0

根據[手機的型號],您可能會更好。(http://developer.android.com/reference/android/os/Build.html#MODEL) – adneal 2012-02-09 00:38:25

回答

0

既ICS和蜂窩(黯然)取代了操作欄和系統欄的組合菜單鍵,沒有讓我們,當我們希望顯示一個菜單按鈕來配置。

只是不認爲它存在,或者設置目標sdk爲10,它總是顯示一個菜單鍵(看起來像3個點)。

無論如何,如果你找到一種方法來檢查菜單按鈕是否存在,那將是很有趣的。

2

我花了一些時間,但我已經找到了一種更可靠的方式不是依靠hasPermanentMenuKey()不用於新手機一樣HTC合作的一個不具有菜單鍵,但確實有家庭&回鍵,所以不需要(或顯示)軟導航欄。爲了解決這個問題,請嘗試下面的代碼來檢查後退按鈕:

boolean hasMenuKey = ViewConfiguration.get(context).hasPermanentMenuKey(); 
boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK); 

if(!hasMenuKey && !hasBackKey) { 
    // Do whatever you need to do, this device has a navigation bar 
} 
+0

Nexus 6沒有硬鍵,仍然返回對KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK); – Vlad 2016-01-04 10:51:10

相關問題