2016-04-08 3 views
0

Je souhaite saisir l'événement de clé "entrée" par programme depuis mon application.Impossible d'entrer l'événement clé "entrée" à partir de mon application android

Je l'ai essayé en utilisant la commande abd shell et en utilisant AccessibilityService, mais je n'y ai pas trouvé de chance.

Similar question was asked here as well

Voici mon code que je l'habitude d'exécuter la commande shell adb:

try { 
    Runtime runtime = Runtime.getRuntime(); 

    Process p = runtime.exec("input keyevent 66"); 

    BufferedReader standardIn = new BufferedReader(new InputStreamReader(p.getInputStream())); 
    BufferedReader errorIn = new BufferedReader(new InputStreamReader(p.getErrorStream())); 

    String output = ""; 
    String line; 
    while ((line = standardIn.readLine()) != null) { 
     output += line + "\n"; 
    } 
    while ((line = errorIn.readLine()) != null) { 
     output += line + "\n"; 
    } 

    Log.d("output", "" + output); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

Je reçois la sortie suivante:

sh: resetreason: can't execute: Permission denied 

Quelqu'un s'il vous plaît aidez-moi.

Si quelqu'un sait comment y parvenir en utilisant AccessibilityService, s'il vous plaît faites le moi savoir.

Merci d'avance!

Répondre

-1

Ajoutez cette autorisation <uses-permission android:name="android.permission.ACCESS_SUPERUSER" /> & Essayez à nouveau.

+0

Ajout de l'autorisation ci-dessus, mais en lançant la même erreur de sortie. – Wazz

+0

Je pense que l'autorisation ci-dessus et le code ci-dessus ne fonctionneront que sur les appareils enracinés. – Wazz