在android应用程序中注入触摸事件

在android应用程序中注入触摸事件,android,sdk,ui-automation,android-instrumentation,Android,Sdk,Ui Automation,Android Instrumentation,我已经为屏幕镜像开发了应用程序,一个用于服务器,另一个用于接收服务器的屏幕 现在,我正致力于在receiver应用程序中添加触摸事件,并将触摸事件发送到server应用程序。由于两个应用程序在不同的设备上,因此我使用DLNA协议进行通信连接 但我无法将触控事件从接收器注入服务器应用程序,也无法实现该功能。我想在不扎根设备的情况下注入触摸事件 以下是我正在使用的代码: m_Instrumentation = new Instrumentation(); AsyncTa

我已经为屏幕镜像开发了应用程序,一个用于服务器,另一个用于接收服务器的屏幕

现在,我正致力于在receiver应用程序中添加触摸事件,并将触摸事件发送到server应用程序。由于两个应用程序在不同的设备上,因此我使用DLNA协议进行通信连接

但我无法将触控事件从接收器注入服务器应用程序,也无法实现该功能。我想在不扎根设备的情况下注入触摸事件

以下是我正在使用的代码:

       m_Instrumentation = new Instrumentation();

       AsyncTask.execute(new Runnable() {
        @Override
        public void run() {
            //TODO your background code

            m_Instrumentation.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),
                    SystemClock.uptimeMillis(),MotionEvent.ACTION_DOWN,x, y,0));
            m_Instrumentation.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),
                    SystemClock.uptimeMillis(),MotionEvent.ACTION_UP,x, y,0));
        }
    });
上面的代码给出的错误是

因为事件权限是系统权限,所以我必须将应用程序设置为系统应用程序。为了制作系统应用程序,我必须使用系统证书对应用程序进行签名。因此,我遵循了链接,如果我能够将应用程序生成为系统应用程序,那么我必须将其安装为
/system/app

但当我搜索将应用程序添加为系统应用程序时,请求根设备从操作系统获得
读/写
访问权限。但我不想在设备上设置根目录


如果有任何帮助,我们将不胜感激。

也许你需要将你的应用程序编写成一个Android可访问性服务(除此之外,如果你在没有特殊权限的情况下尝试工作,显然这会带来严重的安全模型影响…)