Android在其他应用程序上注入触摸事件

问题描述 投票:1回答:1

我想创建一个将触摸事件注入我的应用程序的应用程序。简单的操作,例如每5秒钟(定时器)触摸posX,posY

我刚刚创建了一个仅适用于我的activity的应用。

这里是执行触摸事件的代码。

new Thread(new Runnable() {
            @Override
            public void run() {
                m_Instrumentation.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),
                        SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, posX, posY, 0));
                m_Instrumentation.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(),
                        SystemClock.uptimeMillis(),MotionEvent.ACTION_UP,posX, posY, 0));
            }
        }).start();

然后我刚刚在INJECT_EVENTS中添加了AndroidManifest.xml许可>

<uses-permission android:name="android.permission.INJECT_EVENTS"></uses-permission>

我还将其根更改为/system/app,从而将我的应用程序作为系统应用程序进行了创建>

[运行我的应用程序时,每秒触摸一次posXposY即可正常工作。但是,当我绘制导航栏或尝试最小化我的应用程序时,不幸的是它关闭并出现错误。

injecting to another application requires inject_events permission

[请帮助我解决此问题,或者如果您有任何测试项目,请发送给我。谢谢。

我想创建一个将触摸事件注入我的应用程序的应用程序。简单的操作,如每5秒钟(定时器)触摸posX,posY。我刚刚创建了一个适用于我的活动的应用程序...

android touch-event android-backup-service
1个回答
0
投票

您的应用应该已经签名并带有平台签名才能正常工作。您可以使用创建自定义电话版本http://aosp.opersys.com/xref/android-10.0.0_r5/xref/frameworks/base/core/res/AndroidManifest.xml#2971

© www.soinside.com 2019 - 2024. All rights reserved.