2016-04-08 2 views
0

Я хочу ввести программное событие «введите» из моего приложения.Невозможно ввести «ввод» ключевого события из моего приложения android

Я пробовал это с помощью команды abd shell, а также с помощью AccessibilityService, но не нашел в этом никакой удачи.

Similar question was asked here as well

Ниже приведен код, который я использовал, чтобы выполнить команду оболочки 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(); 
} 

Я получаю следующий вывод:

sh: resetreason: can't execute: Permission denied 

Кто-то пожалуйста, помогите мне.

Если кто-то знает, как его достичь, используя AccessibilityService, пожалуйста, дайте мне знать.

Заранее благодарен!

ответ

-1

Добавить <uses-permission android:name="android.permission.ACCESS_SUPERUSER" /> Разрешение & Попробуйте еще раз.

+0

Добавлено вышеупомянутое разрешение, но все равно бросает такую ​​же ошибку вывода. – Wazz

+0

Я думаю, что вышеупомянутое разрешение и приведенный выше код будут работать только на корневых устройствах. – Wazz

Смежные вопросы