我有一个任务,需要在不影响用户交互的情况下同时模拟其他应用程序(在手机的任何屏幕上)的给定协调下的触摸/滑动事件(例如程序模拟和用户触摸输入都需要发生)并行)。可以成为root手机。
我在“SYSTEM_ALERT_WINDOW”和“绘制应用程序”的帮助下尝试了以下内容,但无法实现。
通过 AccessibilityService -> dispatchGesture。但是 AccessibilityService 是同步的,它可以一次处理任何一个事件(程序或用户)Ref:https : //github.com/aosp-mirror/platform_frameworks_base/blob/master/core/java/android/accessibilityservice /AccessibilityService.java#L1017
Instrumentation.sendPointerSync -> 但它需要 INJECT_EVENT 权限才能触摸其他应用程序,该权限仅适用于平台签名应用程序。
为了克服这个权限问题,将 INJECT_EVENT 权限状态更改为“即时”并刷新自定义 ROM。仍然无法同时处理程序化和用户触摸事件
参考:http : //aosp.opersys.com/xref/android-11.0.0_r33/xref/frameworks/base/core/res/AndroidManifest.xml#3189
有没有办法通过编程模拟触摸而不影响用户交互?是否可以?
提前致谢。
我在 codepen.io Link Here 中看到了一个很好的动画。它真的很神奇。但是我想把它改成心形(爱情符号)而不是红色箭头。所以我开始调试代码,我找到了function drawArrow他们绘制箭头的地方。在那里我试图实现心脏绘制(从这里得到代码)。
var ctx = _pexcanvas.getContext("2d");
var d = 20; //The Size of the hearting
var k =150; // The Position of the heart
ctx.moveTo(k, k + d / 4);
ctx.quadraticCurveTo(k, k, k + d / 4, k);
ctx.quadraticCurveTo(k + d / 2, k, k + d / 2, k + d / 4);
ctx.quadraticCurveTo(k + d / 2, k, k + d * 3/4, k);
ctx.quadraticCurveTo(k + d, k, k …Run Code Online (Sandbox Code Playgroud)