Wie erkennt man, ob ein Android-Gerät Hardkeys hat?

8

Wie kann ich feststellen, ob ein Android-Gerät über physische Tasten oder die Software-Navigationsleiste verfügt? Ich muss das Layout ändern, abhängig davon, ob die Software Navigation gezeichnet wird.

Zum Beispiel hat das HTC Desire C Hardwareschlüssel:

Ich sollte klarstellen - Ich betrachte die Navigationsleiste, nicht die Tastatur. Zuhause, zurück usw. Ich habe es versucht:

%Vor%

gibt auf beiden Geräten die gleichen Werte zurück.

    
serenskye 13.02.2013, 11:58
quelle

3 Antworten

40

Dies wurde dadurch behoben, dass die App das erste Mal gestartet und in den Einstellungen gespeichert wurde:

%Vor%     
serenskye 14.02.2013 09:50
quelle
2

Hier gehts .. das sollte tun was du willst.

%Vor%     
Simon 02.08.2013 11:04
quelle
0

private boolean isHardwareKeyboardAvailable() { return getResources().getConfiguration().keyboard != Configuration.KEYBOARD_NOKEYS; }

Außerdem gibt es hier weitere Informationen. Ссылка

BEARBEITEN - Um nach einer physischen Tastatur zu suchen

private boolean isPhysicalKeyboardAvailable() { return getResources().getConfiguration().keyboard == Configuration.KEYBOARD_QWERTY; }

Weitere Informationen zu den verschiedenen Konfigurationsansichten Ссылка

Ich bin sicher, dass einer von diesen funktioniert.

2. EDIT -

Überprüfen. Schon gefragt.

Android: Programmgesteuert erkennen, ob das Gerät über die Hardware-Menü-Taste

    
Synaero 13.02.2013 12:00
quelle

Tags und Links