Zeigen Sie eine weiche Tastatur, obwohl eine Hardwaretastatur angeschlossen ist
Gibt es eine Möglichkeit, zu zeigen, software-Tastatur, mit USB-Tastatur angeschlossen (in meinem Fall RFID-Leser)?
Ich versuchte, Sie zu zwingen, zeigen, dass es mit InputManager (mit diesen oder ähnlichen Parametern), aber mit kein Glück
((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
Wichtiger Hinweis - ich weiß, dass es eine Taste in der status/Systemleiste zu zeigen, aber diese Schaltfläche ist nicht sichtbar für Nutzer (Kiosk-app).
InformationsquelleAutor der Frage Warlock | 2012-07-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie das überschreiben der InputMethodService Methode onEvaluateInputViewShown() zu true ausgewertet werden, auch wenn es eine harte Tastatur. Sehen onEvaluateInputShown() und Soft Input View-Abschnitt der InputMethodService. Versuchen Sie, erstellen Sie Ihre eigenen benutzerdefinierten InputMethodService Klasse diese Methode überschreiben.
EDIT: Die Quelle für onEvaluateInputShown() sollte helfen. Die Lösung sollte so einfach wie das erstellen Ihrer eigenen Klasse, die Sie erweitert InputMethodService und überschreiben diese eine Methode, die nur ein paar Zeilen lang. Stellen Sie sicher, fügen Sie Ihre benutzerdefinierten Dienst, um Ihre manifest-als auch.
Aus Quelle:
Hier sind die möglichen Konfigurationen, die Sie überprüfen können. - Konfiguration.KEYBOARD_NOKEYS entspricht keine hardware-Tastatur. Diese Methode gibt true (soft-Tastatur angezeigt werden soll), wenn es keine hardware-Tastatur, oder wenn die hardware-Tastatur wird ausgeblendet. Entfernen sowohl der diese prüft und einfach "true" zurückgeben sollte der software-Tastatur sichtbar ist, auch wenn eine hardware-Tastatur angeschlossen ist.
Versuchen (nicht getestet):
Da dieser Rückgabewert wird sich nicht ändern, brauchen Sie nicht zu rufen updateInputViewShown() selbst. Wenn Sie ändern diese Methode anders ist, merken Sie sich dieses detail.
InformationsquelleAutor der Antwort Andy Harris
Auf der soft-Tastatur kann zu unvorhersehbaren Verhalten auf verschiedenen Plattformen. An Erster Stelle in deinem code, sicherzustellen, dass Sie haben eine editierbare input-regler. Zum Beispiel, wenn Sie haben ein EditText, den Sie verwenden könnten:
Können Sie jedoch nur ein-und ausblenden, Wann immer Sie es möchten mit:
Könnte man auch alle diese Ereignisse innerhalb
OnCreate
oder eine andere Methode der controls.Wenn jedoch aus irgendeinem Grund eine der oben genannten ausfällt, ist Ihre beste option ist möglicherweise die Verwendung einer alternativen Tastatur, z.B. Kompass-Tastatur,
ODER
Man könnte sogar bauen Ihre:
Finden Sie eine Beispiel für eine Tastatur Umsetzung der
inputmethodservice.KeyboardView
Vielleicht möchten Sie auch einen Blick auf die GingerBread-Tastatur-Quelle.
InformationsquelleAutor der Antwort Chibueze Opata
Dieser war in meiner app, interessanterweise auch eine kiosk-app.
Dies ist ein bisschen gestrippt, ich habe einige überprüft vorher, ob IMM null ist und so.
InformationsquelleAutor der Antwort nullpotent
gemäß dieser https://stackoverflow.com/a/24287780/2233069ich habe funktionierende Lösung für Kiosk-Modus.
InformationsquelleAutor der Antwort djdance