Accessibility 在系统设置里面开启功能之后,有页面变动就会调用onAccessibilityEvent,开启时候onServiceConnected 会调用一次,可以在里面初始化一些示例,好从其他页面传递参数。
private static MyAccessibilityService instance;
protected void onServiceConnected() {
super.onServiceConnected();
instance = this;
}
public static MyAccessibilityService getInstance() {
return instance;
}
还有就是注意xml 里面书写,不要出现不相关的类型,否则不会调用
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFeedbackType="feedbackGeneric"
android:accessibilityFlags="flagDefault"
android:canRetrieveWindowContent="true"
android:description="@string/app_name"
android:notificationTimeout="100" />
AndroidManifest.xml 里面service的配置代码
<service
android:name=".MyAccessibilityService"
android:label="@string/accessibility_service_label"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
android:exported="true">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/accessibility_service_config"
/>
</service>
页面分析工具是Android Device Monitor,安装好环境可以去JDK里面找,但是要安装java环境后才能用,可以安装java1.8