1:使用AncillaryService首先先继承AccessibilityService服务
2:其次在manifest配置服务
<uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE" /> //权限打开
<service
android:name=".AncillaryService" //继承与AccessibilityService的服务
android:enabled="true"
android:exported="true"
android:label="@string/app_name" //在设置里显示的服务名称(引用)
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"> //权限声明
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/accessibility" /> //配置信息引用资源
<intent-filter> //过滤器
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
</service>
3:accessibility文件,这个在res文件夹下建xml文件夹,在建accessibility文件
<?xml version="1.0" encoding="utf-8"?> <accessibility-service xmlns:android="http://schemas.android.com/apk/res/android" android:accessibilityEventTypes="typeNotificationStateChanged|typeWindowStateChanged" //接受那些事件 android:accessibilityFeedbackType="feedbackGeneric" android:accessibilityFlags="" android:canRetrieveWindowContent="true" android:description="@string/app_name" android:notificationTimeout="100" android:packageNames="com.tencent.mm" /> <!--微信的包名--> <!-- <accessibility-service xmlns:android="http://schemas.android.com/apk/res/android" android:accessibilityEventTypes="typeNotificationStateChanged|typeWindowStateChanged" android:accessibilityFeedbackType="feedbackGeneric" android:accessibilityFlags="" android:canRetrieveWindowContent="true" android:description="@string/app_name" android:notificationTimeout="100" android:packageNames="com.tencent.mobileqq" /> --> <!--qq包名--> <!-- <accessibility-service xmlns:android="http://schemas.android.com/apk/res/android" android:accessibilityEventTypes="typeNotificationStateChanged|typeWindowStateChanged" android:accessibilityFeedbackType="feedbackGeneric" android:accessibilityFlags="" android:canRetrieveWindowContent="true" android:description="@string/app_name" android:notificationTimeout="100" android:packageNames="com.eg.android.AlipayGphone" /> --> <!--支付宝包名-->
4:在使用时,在设置里打开次服务
5:
1、android:accessibilityEventTypes="typeAllMask"
看属性名也差不多可以明白,这个是用来设置响应事件的类型,typeAllMask当然就是响应所有类型的事件了。当然还有单击、长按、滑动等。
2、android:accessibilityFeedbackType="feedbackSpoken"
设置回馈给用户的方式,有语音播出和振动。可以配置一些TTS引擎,让它实现发音。
3、android:notificationTimeout="100"
响应时间的设置就不用多说了
6:点击事件:performAction(AccessibilityNodeInfo.ACTION_CLICK)