如建议的那样,自Nougat(API 24)以来模拟触摸事件的最佳方法是使用辅助功能服务和AccessibilityService#dispatchGesture方法.

以下是我模拟单击事件的方法.

// (x, y) in screen coordinates

private static GestureDescription createClick(float x, float y) {

// for a single tap a duration of 1 ms is enough

final int DURATION = 1;

Path clickPath = new Path();

clickPath.moveTo(x, y);

GestureDescription.StrokeDescription clickStroke =

new GestureDescription.StrokeDescription(clickPath, 0, DURATION);

GestureDescription.Builder clickBuilder = new GestureDescription.Builder();

clickBuilder.addStroke(clickStroke);

return clickBuilder.build();

}

// callback invoked either when the gesture has been completed or cancelled

callback = new AccessibilityService.GestureResultCallback() {

@Override

public void onCompleted(GestureDescription gestureDescription) {

super.onCompleted(gestureDescription);

Log.d(TAG, "gesture completed");

}

@Override

public void onCancelled(GestureDescription gestureDescription) {

super.onCancelled(gestureDescription);

Log.d(TAG, "gesture cancelled");

}

};

// accessibilityService: contains a reference to an accessibility service

// callback: can be null if you don't care about gesture termination

boolean result = accessibilityService.dispatchGesture(createClick(x, y), callback, null);

Log.d(TAG, "Gesture dispatched? " + result);

要执行其他手势,您可能会发现code used for testing AccessibilityService#dispatchGesture实现很有用.

java root_java – 如何在没有root的情况下(如Automate和...相关推荐

  1. 无root权限情况下安装vim以及插件

    无root权限情况下安装vim以及插件 一.概述 二.vim安装 2.1 ncurses下载安装 2.2下载vim并安装 三. vim-plug插件管理 3.1 vim-plug插件下载 3.2 插件 ...

  2. java6打印机不能用_高分求解:java中调用的打印机在什么情况下不可用?

    java文档中说PrinterJob类中的getPrinterJob()方法无论返回的打印机是否可用都不会返回一个null值.我查阅过一些文献有介绍说可以用getPrintService()方法测试返 ...

  3. substratum android8,如何在没有root的情况下在Android Oreo上安装Substratum主题

    XDA社区和Substratum一直在戏弄Android Oreo的无根主题.现在,他们的所有努力都取得了成果.他们发布了Andromeda插件,该插件为任何不带root的Android 8.0 Or ...

  4. java流处理为什么快_“任何情况下,都不可以堕胎”是道德普遍主义的观点。

    [判断题]两个可能性之间可以彼此独立. [多选题]全球化正改变着我们的工作方式和生活方式,原因是我们首先必须处理( )和( )这两个问题. [判断题]"只许州官放火"体现了双重标准 ...

  5. Android手机中怎么样在没root的情况下 修改 hosts 文件

    工具  链接:https://pan.baidu.com/s/1AENluDCQ-2qYDPcE5K6l8g 密码:t7eu http://bbs.360.cn/forum.php?mod=viewt ...

  6. 不root的情况下 查看App的数据表

    一直以来查看sqlite的数据库都须要root才干查看,可是公司的好多測试机root起来比較麻烦~~~ 近期刚好项目上线,略闲, 于是决定写一个libraryproject便于以后调试代码 关键代码例 ...

  7. java 变量不初始化_Java之哪些情况下变量不会初始化

    类的属性,或者32313133353236313431303231363533e78988e69d8331333365633966叫值域 方法里的局部变量 方法的参数 对于第一种变量,Java虚拟机会 ...

  8. HTML为什么图片会自动在中间,html中怎么让一个图片(img)在大于父容器(div)的情况下仍中间部份居中...

    html中怎么让一个图片(img)在大于父容器(div)的情况下仍中间部份居中以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下 ...

  9. java后门_@Java Web 程序员,我们一起给程序开个后门吧:让你在保留现场,服务不重启的情况下,执行我们的调试代码...

    从数据库.redis取了些数据,做了一些运算后,没抛异常,但是就是结果不对 抛了个空指针异常,但是看代码,感觉没问题,是取出来就是空,还是中间什么函数把它改坏了 发现导致一个bug的原因是用了JVM缓 ...

最新文章

  1. Excel实用小技巧
  2. linux opendir php,php opendir()列出目录下所有文件的实例代码
  3. 使用未初始化的内存是什么意思_他们都说JVM能实际使用的内存比-Xmx指定的少?这是为什么呢...
  4. typecho一个简洁轻量适合写作,技术类的主题-AirCloud
  5. 极递云课显示服务器连接超时,服务器连接问题
  6. 【hackerrank】Week of Code 26
  7. httpclient请求配置dns绑定host
  8. 微信mac电脑版客户端 v1.0.1.16 官方版
  9. excel如何设置单元格的下拉选项框并着色
  10. 产品经理天马行空,表格组件应对自如
  11. 笔记本键盘按键拆卸教程
  12. Hrbust 2064 萌萌哒十五酱的宠物~(树链剖分+线段树)
  13. 如何部署软件 - 让你团队的部署像地狱一样无聊且毫无压力
  14. 计算机视觉知识表征,计算机视觉基础 - 边缘和轮廓检测
  15. 在地址栏显示网站的图标
  16. 轮播图详解(完整代码在最后)
  17. uharc 命令参数使用
  18. 定期沟通及反馈的必要性
  19. DM3730应用程序自启动解决方案
  20. 文件系统:FAT16

热门文章

  1. “开源”将成为物联网开发生态链的标准
  2. 找对业务G点, 体验酸爽 - PostgreSQL内核扩展指南
  3. QThread中的互斥、读写锁、信号量、条件变量
  4. 【云图】如何制作附近实体店的地图?-微信微博支付宝
  5. 佳能CANON LBP2900打印缓慢问题解决方法
  6. android x86怎么引导,Android、Ubuntu、win三系统引导求教
  7. spark hive udf java_【填坑六】 spark-sql无法加载Hive UDF的jar
  8. 文字输入限制_输入框设计,设计样式及设计要点
  9. mysql cluster 安装_MYSQL Cluster安装攻略
  10. 为什么在反向传播中感知器初始值不能为0_人工智能可以为我们做什么?世界皆可二分类...