Tastatureingabe via Button simulieren

  • 9 Antworten
  • Letztes Antwortdatum
J

j4ck

Neues Mitglied
0
Hey Leute,
ist es möglich, dass ich einen Button so belegen kann, dass dieser nach dem click ein bestimmtes Wort oder eine Abfolge von Zeichen eingibt? Also eine Art "send key". Ich hab schon so ziemlich überall gesucht, aber nicht wirklich brauchbares gefunden...


Mein Code bis jetzt:

Code:
    Button buttontest;


    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        buttontest = (Button) findViewById(test.R.id.button1);

    buttontest.setOnClickListener(new OnClickListener() {

     Instrumentation inst = new Instrumentation();

         public void onClick(View v) {

            switch(v.getId()){
               case R.id.button1:

               inst.sendKeyDownUpSync(KeyEvent.KEYCODE_BACKSLASH);
                    
              break;

            }
};
}
Hier habe ich es mit dem sendkeyDownUpSync() versucht, aber wenn ich das Projekt debugge und den Button klicke, passiert nichts.

Danke schonmal :)
 
Mal grade offtopic, woher ist der link und wieso von 2007? xD solange gibts android doch noch garnicht hahaha
 
hmmm jetzt wo du's sagst... :D
Hab ich bei Google gefunden, mehr Infos hab ich auch nicht :D

und gerade hab ich erst den Kommentar gelesen:
"This app is a fake IWindowManager not exist."

Naja hätte ja sein können :D
 
okay, danke schonmal für eure aufmerksamkeit ;)
das mit dem fake habe ich auch gerade gelesen, wer weiß :D

also nur um mein problem nochmal genauer zu erklären..
ich habe mehrere buttons und jeder dieser buttons soll ein bestimmtes wort (in meinem fall sind das befehle für die android konsole) hinterlegt haben. Wenn ich jetzt also z.b. den button, der für einen ping verwendet werden soll anklicke, soll "ping ..." geschrieben/ an die Konsole gesendet werde.

ich hoffe so ist das ein wenig verständlicher ;)
 
Achso, das soll quasi an eine andere App gesendet werden.
Ich glaube das funktioniert nicht aus Sicherheitsgründen.

Oder was meinst du mit Konsole, eine Konsole in dem Sinne hat Android ja nicht von Haus aus.

Für den Zweck wäre aber evtl eine eigene Keyboard App geeignet bei der du auf Knopfdruck vom Keyboard auf "Makro" wechselst oder so ähnlich,

Da hilft dir evtl das:
How to develop a soft keyboard for Android? - Stack Overflow
 
Naja so fast, es es bleibt alles in der App, also Zugriff auf andere App brauche ich nicht. Das mit der Konsole war vielleicht ein schlechtes Beispiel, die Kommt später ins Spiel ;)
Es würde für den Anfang reichen, wenn der Button ein Wort oder eine Zeichenfolge in ein Textfeld welches sich schon in der App befindet einträgt.

pseudocode mäßig wäre das wohl:

Code:
string button_wort1 = 'wort'

switch (listenOnclick)
     case button_wort1:
             sende 'wort' an R.id.texfeld
             break;

Ich weiß nicht, vielleicht gibt es auch eine einfachere Lösung als über eine Simulierte Tastatureingabe, aber das war meine erste Idee.
 
Das ist aber popeleinfach.

*EditText mit findViewById abholen
*darin dann setText aufrufen

Wenns in einer anderen Activity ist, ists etwas schwerer. Da müsstest du den Wert schon im Zustand der App speichern und dann im onCreate/oResume der Activity setzen.
 
DieGoldeneMitte schrieb:
*EditText mit findViewById abholen
*darin dann setText aufrufen

Danke werde ich dann mal versuchen! Ich melde mich wieder ;)
 
Hat alles funktioniert Danke!! :thumbup:
 
Zurück
Oben Unten