Kurze Frage: Ist es möglich (und wie), die Soft-Tastatur von einem Dienst anzuzeigen?
Lange Frage: Ich habe einen Dienst geschrieben, der eine "obere Leiste" erstellt, die über allen Aktivitäten angezeigt wird und einen EditText enthält. Ich möchte die Soft-Tastatur anzeigen, wenn dieser EditText angeklickt wird, aber dies geschieht nicht.
Natürlich habe ich das aus dem Service onFocusChange () und onClick () versucht:
%Vor%Die von mir vorgeschlagene Problemumgehung besteht darin, die aktuelle Aktivität zum Anzeigen der Tastatur anzufordern, indem Sie die Activity-Klasse erweitern und eine AIDL-Schnittstelle hinzufügen. Der Nachteil ist, dass jedes Schlüsselereignis über eine andere AIDL-Schnittstelle an den Dienst zurückgesendet und manuell in Unicode konvertiert werden muss.
Außerdem, wenn die aktuelle Aktivität einen EditText enthält, funktioniert die Soft-Tastatur nur für die Aktivität und wird nicht mehr angezeigt, wenn der EditText des Dienstes ausgewählt ist.
Was verhindert, dass die Soft-Tastatur des Dienstes angezeigt wird, wenn die aktuelle Aktivität über einen EditText verfügt? Könnte es eine Android-Einschränkung sein?
Kurze Frage: Ist es möglich (und wie), die Soft-Tastatur von einem Dienst anzuzeigen?
Lange Frage: Ich habe einen Dienst geschrieben, der eine "obere Leiste" erstellt, die über allen Aktivitäten angezeigt wird und einen EditText enthält. Ich möchte die Soft-Tastatur anzeigen, wenn dieser EditText angeklickt wird, aber dies geschieht nicht.
Natürlich habe ich das aus dem Service onFocusChange () und onClick () versucht:
%Vor%Die von mir vorgeschlagene Problemumgehung besteht darin, die aktuelle Aktivität zum Anzeigen der Tastatur anzufordern, indem Sie die Activity-Klasse erweitern und eine AIDL-Schnittstelle hinzufügen. Der Nachteil ist, dass jedes Schlüsselereignis über eine andere AIDL-Schnittstelle an den Dienst zurückgesendet und manuell in Unicode konvertiert werden muss.
Außerdem, wenn die aktuelle Aktivität einen EditText enthält, funktioniert die Soft-Tastatur nur für die Aktivität und wird nicht mehr angezeigt, wenn der EditText des Dienstes ausgewählt ist.
Was verhindert, dass die Soft-Tastatur des Dienstes angezeigt wird, wenn die aktuelle Aktivität über einen EditText verfügt? Könnte es eine Android-Einschränkung sein?
Ich stehe vor einem ähnlichen Problem. Aber in meinem Fall ist das Problem auf die Verwendung des Flags WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE beim Erstellen von WindowManager.LayoutParams für die Ansicht zurückzuführen.
Und für die Sichtbarkeit der Tastatur
%Vor%Wenn Sie die Soft-Tastatur bei der Berührung von editiertext anzeigen möchten, warum erwägen Sie nicht, onTouchListener mit diesem edittext zu verwenden. Ich glaube, editiertext.requestfocus () wird dies auch tun. Wenn nicht, würde der Zuhörer definitiv arbeiten.
Außerdem wäre es für die von Ihnen erwähnte Art der Ansicht am besten, Fragmente anstelle von Diensten zu verwenden, um eine Ansicht zu erstellen.
Wenn Sie die Soft-Tastatur bei der Berührung von editiertext anzeigen möchten, warum erwägen Sie nicht, onTouchListener mit diesem edittext zu verwenden. Ich glaube, editiertext.requestfocus () wird dies auch tun. Wenn nicht, würde der Zuhörer definitiv arbeiten.
Außerdem wäre es für die von Ihnen erwähnte Art der Ansicht am besten, Fragmente anstelle von Diensten zu verwenden, um eine Ansicht zu erstellen.
Tags und Links android android-layout android-softkeyboard