Um Ihnen ein Gefühl für den Umfang des Problems zu geben, werfen Sie einen Blick auf diese table Keycodes.
Omermuhammeds Ansatz ist ein guter Ansatz, wenn Sie den JAD-Inhalt abhängig vom Zielhandgerät variieren können, z. B. indem Sie in einer Downloadanforderung von einem On-Handset-Webbrowser das User-Agent-Headerfeld anzeigen.
Wenn Sie das Mobilteil erst identifizieren können, nachdem die App zugestellt wurde, können Sie sich etwa die Nummer this ansehen, die zur Laufzeit das Host-Mobilteil bestimmt und die Schlüsselcodezuordnungen entsprechend einstellt. Sieht für mich allerdings umständlich aus.
Schließlich, wenn Ihre Anwendung eine Teilmenge von Codes verwendet können Sie in der Lage sein, mit hart-codierten Listen - für einige Codes gibt es keine oder wenige Kollisionen (LEFT ist in der Regel entweder -3 oder -61, und diese Codes bedeuten normalerweise nichts anderes). Wiederum kein idealer Ansatz.
Letzte vorgeschlagene Ressourcen für Sie: wurfl oder Benutzer-Agent-Strings und die J2MEPolish Geräte-Datenbank für Geräte-Keycodes.
@. funkybro - das war einer meiner Vorschläge, also denke ich, dass Sie nur teilweise nicht zustimmen :) Einige Apps haben benutzerspezifische Daten in der JAD (die für jeden Benutzer einzigartig ist), aber eine einzige JAR. In diesem Fall ist es keine große Sache, dem JAD eine oder zwei zusätzliche Zeilen hinzuzufügen. Siehe auch Drubins Kommentar. –
Richtig, aber der Wert der Laufzeitsensibilität für die Plattform, auf der Sie arbeiten, läuft tiefer als Soft-Key-Codes; Es ermöglicht Ihnen auch, nette Benutzeroberflächen zu erstellen und handyspezifische Bugs zu behandeln, ohne separate JARs zu haben. – funkybro