Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 根安卓后台监听器_Android_Background_Root_Ontouchlistener - Fatal编程技术网

Android 根安卓后台监听器

Android 根安卓后台监听器,android,background,root,ontouchlistener,Android,Background,Root,Ontouchlistener,我想知道是否有任何方法(在根手机上)可以从后台使用onTouch方法,进行一些思考,然后将此触摸发送到前台应用程序。创建一个流程并将其抛出:getevent 每次触摸屏幕时,都会出现多条新行。必须有根,因为它包含敏感的触摸位置信息 大概是这样的: try { Process process = Runtime.getRuntime().exec("su getevent"); //su to get root access BufferedReader bufferedReader =

我想知道是否有任何方法(在根手机上)可以从后台使用onTouch方法,进行一些思考,然后将此触摸发送到前台应用程序。

创建一个流程并将其抛出:
getevent

每次触摸屏幕时,都会出现多条新行。必须有根,因为它包含敏感的触摸位置信息

大概是这样的:

try {
  Process process = Runtime.getRuntime().exec("su getevent"); //su to get root access
  BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));

  String line = "";
  while ((line = bufferedReader.readLine()) != null) {
        //A new line came in. So a touch event came in.
  }
} 
catch (IOException e) {}

注意:我还没有测试它,但它应该可以工作。可能需要一些小的调整。

您想用它实现什么?您是否希望将触摸事件发送到前台应用程序,本质上成为中间人?或者你只是想听听这些事件?我想在触摸屏幕时对我的应用程序做点什么,但我的应用程序处于底层。
getevent
可能是一个解决方案,因为Android上的root只适用于助手进程,而不适用于应用程序本身。但是,
adb
仅在使用PC要求设备执行操作时才适用于设备本身。您对
adb外壳的理解是正确的。我今天喝的咖啡不够。我将编辑我的答案。另一方面,您可以使用
adb
从一个设备连接到另一个设备。在一个平板电脑上查看日志、在另一个平板电脑上查看应用程序以及在PC上查看eclipse实际上非常有用。您能指定您的答案吗?我不完全明白。