Android底层事件注入,在知道要实现这个功能的时候,我感觉技术含量瞬间提高了很多,涉及到底层事务。
Android实现按钮触发事件方法有多种,但并不是每种都适用,我们使用的方法是调用"sendevent"命令,这是Linux系统下的命令,在Android上使用首先要将机器获取到root权限,root过的手机才能使用 Runtime.getRuntime().exec("cmd");
方法取得操作Android底层的环境;既然要使用到这个,那么简单的介绍一下这个东西;这个东西主要就是用来模拟一套linux系统环境,在这个环境下可以通过Linux里面的一些命令实现对系统的操作,使用方法非常简单:
java代码:
DataOutputStream dos = null;
try {
//注入su命令获取权限
Process p = Runtime.getRuntime().exec("su");
dos = new DataOutputStream(p.getOutputStream());
System.out.println(cmd);
//写入要执行的命令语句,下面语句表示列出sdcard下的文件信息,并将信息输出到dos流中,可以新建一个输入流获取
dos.writeBytes("ls /mnt/sdcard\n");
dos.flush();
dos.writeBytes("exit\n");
dos.flush();
p.waitFor();
} cat