在android应用程序中注入触摸事件
我已经为屏幕镜像开发了应用程序,一个用于服务器,另一个用于接收服务器的屏幕 现在,我正致力于在receiver应用程序中添加触摸事件,并将触摸事件发送到server应用程序。由于两个应用程序在不同的设备上,因此我使用DLNA协议进行通信连接 但我无法将触控事件从接收器注入服务器应用程序,也无法实现该功能。我想在不扎根设备的情况下注入触摸事件 以下是我正在使用的代码:在android应用程序中注入触摸事件,android,sdk,ui-automation,android-instrumentation,Android,Sdk,Ui Automation,Android Instrumentation,我已经为屏幕镜像开发了应用程序,一个用于服务器,另一个用于接收服务器的屏幕 现在,我正致力于在receiver应用程序中添加触摸事件,并将触摸事件发送到server应用程序。由于两个应用程序在不同的设备上,因此我使用DLNA协议进行通信连接 但我无法将触控事件从接收器注入服务器应用程序,也无法实现该功能。我想在不扎根设备的情况下注入触摸事件 以下是我正在使用的代码: m_Instrumentation = new Instrumentation(); AsyncTa
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可访问性服务(除此之外,如果你在没有特殊权限的情况下尝试工作,显然这会带来严重的安全模型影响…)