- 创建一个类AccessibilitySampleService继承自AccessibilityService,并实现其接口方法,onAccessibilityEvent与onInterrupt。
public class AccessibilitySampleService extends AccessibilityService {
private static final String TAG = "AccessibilityService";
@Override public void onAccessibilityEvent(AccessibilityEvent event) {
Log.e(TAG, "onAccessibilityEvent: ");
}
@Override public void onInterrupt() {
Log.e(TAG, "onInterrupt: ");
}
}
- 在AndroidManifest.xml文件中的application节点下配置service,其中android:label="@string/accessibility_tip"是在手机的设置中要显示的文字。
<!-- 注册辅助功能服务 -->
<service
android:name=".AccessibilitySampleService"
android:enabled="true"
android:exported="true"
android:label="@string/accessibility_tip"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
android:process=":BackgroundService">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<!-- 通过xml文件完成辅助功能相关配置,也可以在onServiceConnected中动态配置 -->
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/accessibility_config" />
</service>
- strings.xml文件内容
<string name="accessibility_tip">开启辅助功能Sample</string>
<string name="accessibility_desc">开启辅助功能,让你的手机更智能一点</string>
- AndroidManifest.xml中的配置无障碍服务时在service节点下的meta-data中android:resource="@xml/accessibility_config"的文件内容如下:
<?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:canRetrieveWindowContent="true"
android:description="@string/accessibility_desc"
android:notificationTimeout="100" />
其中android:canRetrieveWindowContent="true"获取窗口内容,android:description="@string/accessibility_desc" 为详细描述,android:notificationTimeout="100" 通知互动。配置完成之后,运行项目,可在Android手机的设置->更多设置->无障碍->服务下看到“开启辅助功能Sample”。