自动化之AccessibilityService原理
来源:互联网 发布:声优训练软件 编辑:程序博客网 时间:2024/06/06 07:26
辅助功能定义
对于那些由于视力、听力或其它身体原因导致不能方便使用Android智能手机的用户,Android提供了Accessibility功能和服务帮助这些用户更加简单地操作设备,包括文字转语音(不支持中文)、触觉反馈、手势操作、轨迹球和手柄操作。开发者可以搭建自己的Accessibility服务,这可以加强可用性,例如声音提示,物理反馈,和其他可选的操作模式。
随着Android版本的不断升级,AndroidAccessibility功能也越来越强大,Android 4.0版本以前,系统辅助服务功能比较单一,仅仅能过单向获取窗口元素信息,比如获取输入框用户输入内容。到Android 4.1版本以后,系统辅助服务增加了与窗口元素的双向交互,此时可以通过辅助功能服务操作窗口元素,比如点击按钮等
继承AccessibilityService类
可选
@Override protected void onServiceConnected() { super.onServiceConnected();// 系统会在成功连接上你的服务的时候调用这个方法,在这个方法里你可以做一下初始化工作,例如设备的声音震动管理,也可以调用setServiceInfo()进行配置工作。 }
必需
@Override public void onAccessibilityEvent(AccessibilityEvent accessibilityEvent) {// onAccessibilityEvent() - 必须。通过这个函数可以接收系统发送来的AccessibilityEvent,接收来的AccessibilityEvent是经过过滤的,过滤是在配置工作时设置的。// }必须
@Override public void onInterrupt() { Log.i("json", "onInterrupt");// onInterrupt() - 必须。这个在系统想要中断AccessibilityService返给的响应时会调用。在整个生命周期里会被调用多次。 }可选
@Override public boolean onUnbind(Intent intent) { return super.onUnbind(intent);// onUnbind() - 可选。在系统将要关闭这个AccessibilityService会被调用。在这个方法中进行一些释放资源的工作。 }
在AndroidMainfest.xml配置
<service android:name=".AutomaticInstallationService" android:enabled="true" android:exported="true" android:label="@string/automatic_installation" android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"> <intent-filter> <action android:name="android.accessibilityservice.AccessibilityService" /> </intent-filter> <meta-data android:name="android.accessibilityservice" android:resource="@xml/accessibility_service_config" /> </service>
<?xml version="1.0" encoding="utf-8"?><accessibility-service xmlns:android="http://schemas.android.com/apk/res/android" android:accessibilityEventTypes="typeNotificationStateChanged|typeWindowStateChanged|typeWindowContentChanged|typeWindowsChanged" android:accessibilityFeedbackType="feedbackGeneric" android:accessibilityFlags="flagDefault" android:canRetrieveWindowContent="true" android:description="@string/description" android:notificationTimeout="100" android:packageNames="com.tencent.mm" />
0 0
- 自动化之AccessibilityService原理
- 自动抢红包,自动安装原理之AccessibilityService
- 自动抢红包,自动安装原理之AccessibilityService
- 自动抢红包,自动安装原理之AccessibilityService
- 自动抢红包,自动安装原理之AccessibilityService
- 自动抢红包,自动安装原理之AccessibilityService
- Android自动化测试中AccessibilityService
- android开发之AccessibilityService
- AccessibilityService
- AccessibilityService
- AccessibilityService
- AccessibilityService
- AccessibilityService
- AccessibilityService
- AccessibilityService
- Android自动化测试中AccessibilityService获取控件信息(1)
- Android自动化测试中AccessibilityService获取控件信息(3)
- Android自动化测试中AccessibilityService获取控件信息
- 蓝桥杯第六届 立方变自身
- 关于 EditText 自动获取焦点闪烁光标
- PHP中file_put_contents追加和换行
- Android图片加载框架Glide用法
- LeetCode 69. Sqrt(x)
- 自动化之AccessibilityService原理
- #1062 : 最近公共祖先·一
- yii2 缩略图功能的实现
- 高并发web系统调优(十)数据读写分离和廉价存储方案
- 2016-12-14
- Swagger - 前后端分离后的契约
- Python-Dictionary-创建字典的方式
- SS安卓无效电脑有效
- git 步骤记录