Android利用AccessibilityService实现自动装总结(一)
来源:互联网 发布:php x86 x64 编辑:程序博客网 时间:2024/05/16 14:43
最近一直在做Android自动安装的利用,下面的内容主要是最近自己在完成这个功能的一些心得,以及一些源码。
下面就先介绍一下AccessibilityService:
在google官网上面对AccessiblilityService的介绍是这样的:An accessibility service runs in the background and receives callbacks by the system when AccessibilityEvent
s 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 extending this class and implementing its abstract methods。翻译过来就是:一个辅助服务在后台运行,并在系统重启时辅助激发事件接收回调。这样的事件表示在用户界面中的一些状态转移,例如,焦点已改变,一个按钮被点击等这样的服务可以选择请求的能力,用于查询活动窗口的内容。辅助功能服务的发展需要扩展此类和实现它的抽象方法。
一:AccessibilityService的生命周期:
AccessibilityService的生命周期由系统进行管理,同时它也遵循Service的生命周期。此外,启动或通过启用或禁用的设备设置停车辅助功能服务是由明确的用户动作完全触发。后系统结合到服务调用onServiceConnected()。这种方法可以由希望执行后绑定设置客户端覆盖。
二:AccessibilityService的用法:
①:首先我们需要自己重写AccessibilityService类,在我的demo里面AutomaticInstallationService来继承AccessibilityService。
代码如下:
public class AutomaticInstallationService extends AccessibilityService {// 大多数的手机包名一样,联想部分机型的手机不一样private String[] packageNames = { "com.android.packageinstaller", "com.lenovo.security", "com.lenovo.safecenter" };/** * 此方法是accessibility service的配置信息 写在java类中是为了向下兼容 */@Overrideprotected void onServiceConnected() {super.onServiceConnected();AccessibilityServiceInfo mAccessibilityServiceInfo = new AccessibilityServiceInfo();// 响应事件的类型,这里是全部的响应事件(长按,单击,滑动等)mAccessibilityServiceInfo.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;// 反馈给用户的类型,这里是语音提示mAccessibilityServiceInfo.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN;// 过滤的包名mAccessibilityServiceInfo.packageNames = packageNames;}@Overridepublic boolean onUnbind(Intent intent) {return super.onUnbind(intent);}@Overridepublic void onAccessibilityEvent(AccessibilityEvent event) {}@Overridepublic void onInterrupt() {}}
②:在res/xml文件夹下面,新建xml文件,用来设置AccessibilityService的一些配置信息:
accessibility_service_config.xml文件的主要代码如下:
<?xml version="1.0" encoding="utf-8"?><accessibility-service xmlns:android="http://schemas.android.com/apk/res/android" android:canRetrieveWindowContent="true" android:description="@string/description" android:notificationTimeout="100"/>
③:在Manifest.xml文件进行配置:
<service android:name="com.moxiu.mxautomaticinstallation.service.AutomaticInstallationService" 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>
做完这些,你就可以在辅助功能里面显示你设置的辅助功能服务了。
特别注意的是:一定得配置下面的属性,不然读取AccessibilityEvent.getResource()方法返回的结果会为null。
<span style="font-size:32px;color:#ff0000;"><strong> android:canRetrieveWindowContent="true"</strong></span>
- Android利用AccessibilityService实现自动装总结(一)
- Android利用AccessibilityService实现自动装总结(二)
- Android之利用AccessibilityService实现微信提别提示
- Android利用AccessibilityService实现抢红包,微信自动回复等功能思路
- android 利用accessibilityservice 实现自动发红包功能 (让收红包的人手抽筋)(密码不能自动输入,可以开启指纹支付)
- 利用辅助服务AccessibilityService实现微信自动抢红包
- Android AccessibilityService无障碍服务(一)
- Android AccessibilityService实现微信自动抢红包
- Android通过AccessibilityService实现微信自动回复功能
- Android通过AccessibilityService实现微信自动回复功能
- 微信自动回复和自动抢红包实现原理(一):AccessibilityService的介绍和配置
- 微信自动回复和自动抢红包实现原理(一):AccessibilityService的介绍和配置
- Android微信/QQ红包自动抢(AccessibilityService)
- 利用AccessibilityService实现“微信红包”插件
- 基于AccessibilityService实现apk自动安装
- android 使用AccessibilityService 自动安装应用
- android 使用AccessibilityService 自动安装应用
- Android 利用工具实现一键自动findViewById功能
- HTTP之X-Requested-With分析和思考
- vijos 1697平面几何
- 中国股灾-不是天灾,而是人为!
- Java 学习之反射机制“解刨”分解类,并获取内容!
- java中类,对象,方法的理解
- Android利用AccessibilityService实现自动装总结(一)
- innotop监控mysql
- 关于iframe高度自适应的问题
- javaweb之----http协议详解
- poj2236——Wireless Network(并查集)
- iOS个人整理16-标签视图控制器--UITabBarController
- 第三章Spring的Hello World
- Stanford机器学习---第六周.学习曲线、机器学习系统的设计
- UIImagePickerController