可能的原因是系统版本不兼容,或代码中调用了不支持的方法。您可以将您的 AccessibilityService 移植到最新的 Android SDK 版本,或更改您的代码以使用兼容的方法。以下是更新后的代码示例:
public class MyAccessibilityService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
// ...
}
@Override
public void onInterrupt() {
// ...
}
@Override
public void onServiceConnected() {
super.onServiceConnected();
// 设置要处理的事件类型,此处为通知和窗口内容变化
AccessibilityServiceInfo info = getServiceInfo();
info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED | AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED;
setServiceInfo(info);
}
@Override
public boolean onUnbind(Intent intent) {
// ...
}
// 执行操作的方法
public void performAction(AccessibilityNodeInfo node, int action) {
if (node != null) {
// 模拟用户点击
node.performAction(action);
}
}
}
上一篇:AndroidAccessibilityonInitializeAccessibilityNodeInfonotcalled
下一篇:AndroidAccessibilityServiceTakeScreenshot报错:java.lang.SecurityException:服务不具备截屏能力。