2010-06-04 19 views
6

Einige Benutzer sagen mir, dass meine Android-App nicht benutzbar ist, weil ihr Gerät keine MENU-Taste hat.Umgang mit Android-Geräten ohne MENU-Taste

Was ist der beste Weg, um mit diesen Geräten umzugehen? Ist es möglich, in diesem Fall zu erkennen, ob das Gerät eine MENÜ-Taste hat und nur eine Menütaste zeigt?

Und am wichtigsten, wie testen Sie das im Simulator?

Danke.

Bearbeiten: Anscheinend war das Problem, dass die Benutzer nicht wussten, dass die Menütaste die Menütaste genannt wurde.

Bearbeiten: Auch einige inoffizielle Android-Geräte wie die Eken und aPad haben keine physikalische Menü-Taste.

+0

Aus Interesse, was ist das Gerät? Jedes Gerät, das ich bisher gesehen habe, egal ob es einen Trackball, Richtungs-Tasten, Hard-Call-Tasten oder ein Tablet-Gerät hat, hat eine Menü-Taste. –

+0

fragte beide. Einer sagte, dass es der Motorola Droid ist, von dem ich ziemlich sicher bin, dass er einen Menüknopf hat. Tut mir leid, wahrscheinlich habe ich die Frage zu früh gestellt. – hpique

+0

Galaxy Nexus hat auch keinen. – Flame

Antwort

2

Ich bin ziemlich überrascht, dass es Geräte gibt ohne Menü Schlüssel da draußen, wie in meinem Kommentar angegeben.

Da diese letzte Frage erwähnt, gibt es wirklich keine API Bestimmung dieses zum Nachweis:
Programatically detect presence of hardware call/hang up keys

Es wäre auch scheinen, dass es keine „Menütaste“ Hardware-Option, die Sie emulieren kann ein AVD mit :

+1

Ich denke @Christopher hat Recht - ich denke, jedes Android-Telefon hat eine Menü-Taste, aber es könnte nicht "Menu" darauf sagen. –

+3

Das Kompatibilitätsdefinitionsdokument (CDD) besagt, dass alle Android-Geräte über eine MENÜ-Taste oder eine entsprechende Geste, ein Touchpanel usw. verfügen müssen. Http://source.android.com/compatibility/index.html – CommonsWare

+0

Gleiches gilt für "Home" und "Back" . Daher Geräte wie die X10, die diese Tasten und nur diese Tasten unter dem Bildschirm haben :) –

7

Ab Android 3.0 (API 11) müssen Geräte keine dedizierte Menüschaltfläche haben. (Lesen Sie mehr dazu hier: http://developer.android.com/guide/topics/ui/menus.html)

Dies bedeutet, dass Sie Ihren Benutzern eine andere Möglichkeit bieten sollten, das Menü zu aktivieren. Sie können eine Schaltfläche erstellen und openOptionsMenu(); aufrufen, wenn Sie darauf drücken.

+0

'Die Geräte-Implementierung MUSS den Anwendungen eine Menü-Taste zeigen, wenn targetSdkVersion <= 10 ist und SOLL KEINE Menü-Taste bei der targetSdkVersion> 10 anzeigen.' –

+1

was saugt, weil ich eine saubere Benutzeroberfläche mochte und die Optionen ausblenden –

2

Überprüfen Sie, ob Gerätemenü-Taste hat:

ViewConfiguration.get(context).hasPermanentMenuKey();