网上有很多有关于accessibilityservice的文章,也有adb命令的文章,但是结合起来的好像没有,最近项目有用到这两个技术的结合,就融合了一下,有不完善或者写得不对的地方请大家指出来,共同研究研究。
1、关于Accessibilityservice:
官方解释:
The classes in this package are used for development of accessibility service that provide alternative or augmented feedback to the user.
使用这个类可以开发用于给用户提供替换或者是增强反馈的辅助功能服务。An AccessibilityService runs in the background and receives callbacks by the system when AccessibilityEvents are fired. Such events denote some state transition in the user interface, for example, the focus has changed, a button has been clicked, etc. Such a service can optionally request the capability for querying the content of the active window. Development of an accessibility service requires extends this class and implements its abstract methods.
一个AccessibilityService在后台运行并接收系统AccessibilityEvents事件的回调,当用户界面的状态发生改变时会触发AccessibilityEvents事件,例如焦点的变化,点击一个按钮。这个服务可以获取到活动窗口的内容,开发一个辅助功能服务需要继承AccessibilityService并实现其中的抽象方法。An AccessibilityServiceInfo describes an AccessibilityServiceInfo. The system notifies an AccessibilityService for AccessibilityEvents according to the information encapsulated in this class.
一个AccessibilityService有一个用于描述AccessibilityService的AccessibilityServiceInfo对象,系统会通知AccessibilityService根据AccessibilityServiceInfo把信息装进AccessibilityEvents中。
具体操作看:http://blog.csdn.net/u011965040/article/details/53257005
写得很好,也很仔细
2、关于adb
adb是根于命令行执行相应的操作,前提是必须有Root权限,才能执行adb命令
模拟点击
execShellCmd("input tap 50 50"); //点击【50,50】那个点模拟滑动