如何使用TermExec.java? Android终端仿真器

时间:2019-07-15 11:24:29

标签: java shell terminal-emulator

我正在尝试使用https://github.com/jackpal/Android-Terminal-Emulator

我正在尝试获取命令getevent /dev/input/event2/的数据。它是android设备上的按钮事件。如果我在adb中执行命令,则会收到有关按钮点击的消息: 0001 00fb 00000001 0000 0000 00000000

我使用代码:

ParcelFileDescriptor parcelFileDescriptor = ParcelFileDescriptor.open(new File("/dev/ptmx"), ParcelFileDescriptor.MODE_READ_WRITE);

new TermExec("su 0 getevent /dev/input/event2\n").start(parcelFileDescriptor);

OutputStream outputStream =  new ParcelFileDescriptor.AutoCloseOutputStream(parcelFileDescriptor);
InputStream inputStream = new ParcelFileDescriptor.AutoCloseInputStream(parcelFileDescriptor); 

BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
String read;

while ((read=br.readLine()) != null) {
    System.out.println(read);
}

但只能读取返回值:

  

referenceTable GDEF长度= 814 1 referencetable GSUB长度= 11364 1

     

referenceTable GPOS长度= 47302 1

我该怎么做才能接收按钮事件?

0 个答案:

没有答案