测试demo主要使用了Android 的无障碍辅助服务(AccessibilityService),主要注意是

1、 开启服务,绑定目标app的监听(demo中根据包命绑定了体积计算的app),需要在系统设置中无障碍服务打开服务,demo会在MainActivity中判断服务状态,若没打开自动跳转到设置界面,点击打开服务即可,详情见MainActivity的onResume方法

2、 监听被测app的界面,获取到我们需要模拟点击的控件,找到控件的方式有两种,一是根据控件上的文字,二是根据控件的id,这两种方式我们demo中都有用到。文字获取见AutoTestService中的onAccessibilityEvent,onAccessibilityEvent是监听被测app的事件回调,通过handleEvent(event, "返回"):List unintall_nodes = info.findAccessibilityNodeInfosByText(nodeText);,我们可以找到“返回”按键,从而可以对该按键进行模拟点击。控件id查找方法,首先我们需要找到我们的目的控件的id,借助Android的monitor工具,在Android的sdk的tools下有这个工具:

找到我们需要点击的控件的id后可以在事件中找到目标id,进行模拟点击。

3、 机制是一直监听app的变化状态,延时点击,其他功能或逻辑可以自行设计。

android 辅助服务 简书,Android AccessibilityService使用相关推荐

  1. android自动登录简书,Android开发之简单登录界面

    用户界面基础 Android系统的四大组件分别是活动(Activity).服务(Service).广播接收器(Broadcast Receiver).内容提供器(Content Provider). ...

  2. android 读写文件 简书,Android 中的文件操作

    Android 文件操作 概述 Android 中的文件操作主要涉及到两个部分,一个是内部存储的读写,一个是外部存储的读写两者的主要区别如下表: 内部存储 外部存储 始终可用 它并非始终可用,因为用户 ...

  3. android运行过程简书,Android系统的启动流程

    Android系统有哪些进程 在Linux系统启动时,会读取init.rc,里面配置了一些需要启动的进程.注意:SystemServer进程不在init.rc里,因为SystemServer进程是由z ...

  4. android四大组件 简书,android四大组件

    android有四大组件,分别是Activity, Service(服务),Content Provider(内容提供者),BoadcastReceiver广播接收器. Activity 一个Acti ...

  5. android 开发环境简书,Android Studio 开发环境快速搭建

    目录 - 1.下载JDK.AS - 1.1 JDK下载 - 1.2 AS下载 - 1.3 百度云资源统一下载 - 2.安装JDK - 3.配置JDK及JAVA的环境 - 3.1 打开系统环境 - 3. ...

  6. android 存储方式简书,Android的多种数据存储方式

    1. 简介 作为一个完整的应用程序,数据存储操作是必不可少的.现在Android的离线缓存就是通过网络良好状态时将从服务器收到的数据保存到本地.Android系统中主要提供了3种方式进行数据存储,分别 ...

  7. android权限适配 简书,Android动态权限适配

    最近APP里面要添加动态权限,网上找了不少例子并经过一定的测试,基本流程有了一定的认识,需要注意的地方记录下来以备以后查阅. 一 各大手机厂商的适配 依据各大手机Rom的不同表现,可以分为三种不同的模 ...

  8. android波浪动画简书,Android贝塞尔曲线————波浪效果(大波浪)

    Hello大家好,很高兴又一次与大家见面,今天是农历丁酉鸡年(大年初四),现在跟大家拜年有点晚,算是拜晚年,祝大家晚年幸福. 这么快大伙都到了晚年了,Android贝塞尔曲线我也准备以一个大波浪来结束 ...

  9. android 截屏 简书,Android 内置应用截屏方法

    Android 中,内置应用如何更好的截屏 在开发系统应用的时候,有时候需要用到截屏,因为 View.getDrawingCache() 截不到状态栏,所以这个方案不理想 这有一个更好的方案,就是用 ...

最新文章

  1. LR监测windows资源一般监测哪几个项?
  2. python3 实现 php bin2hex 函数
  3. 过磅系统更换服务器,无人值守过磅系统改造方案
  4. linux命令(一)查看进程的线程数top,ps
  5. 企业CRM项目实施调研内容有那些?
  6. 堆排序(php实现)
  7. Android模拟器中添加SD卡(转)
  8. 查询硬盘序列号(serialNumber),系统安装日期等
  9. 用Jsoup从网页上抓取中国地区编号转变成Map
  10. 国际象棋AI人机对弈设计
  11. 宇视云所有故障排查思维导图
  12. matlab傅里叶反变换举例,matlab傅里叶正逆变换详细说明+图例
  13. python调用函数出现未定义_在python中调用函数时出错“函数未定义”
  14. java 图片质量压缩_java图片高质量压缩
  15. ffmpeg 截取视频片段 - python
  16. 天津二级计算机考试地点,2016年9月天津计算机一级二级三级四级考点地址电话...
  17. 解决eclipse开发Android时无法真机调试(使用魅族魅蓝note2实验)
  18. shell脚本生成双色球号码
  19. detectron2使用教程20200824_3
  20. leetcode 50. Pow(x, n) 快速幂

热门文章

  1. 功率放大器的有记忆失真特性
  2. 面向B端市场,Mana VR团队将推出VR交互产品
  3. 《JavaScript高效图形编程(修订版)》——第2章 DHTML基础 2.1创建DHTML sprite
  4. [Snipaste]系统截图工具
  5. txt文件分解为固定条数的文件
  6. x264代码剖析(十四):核心算法之宏块编码函数x264_macroblock_encode()
  7. [体感游戏]关于体感游戏的一些思考(三) --- 射击
  8. 无法向会话状态服务器发出会话状态请求
  9. 嵌入式系统低功耗管理(备忘)
  10. leetcode 200.岛屿数量 c代码