我正在尝试使用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
我该怎么做才能接收按钮事件?