首页 > 解决方案 > onServiceConnected 和 onAccessibilityEvent 永远不会被调用

问题描述

我正在使用辅助功能服务来检测窗口更改。我不知道发生了什么。昨天工作正常。

在设置中,服务说它已打开,但既onServiceConnected没有也没有onAccessibilityEvent被调用。

清单文件中的无障碍服务:

    <service
        android:name=".WindowChangeDetectingService"
        android:label="@string/accessibility_service_name"
        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/accessibilityservice" />
    </service>

无障碍服务.xml:

<?xml version="1.0" encoding="utf-8"?>
<accessibility-service
    xmlns:tools="http://schemas.android.com/tools"
    android:accessibilityEventTypes="typeWindowStateChanged"
    android:accessibilityFeedbackType="feedbackGeneric"
    android:accessibilityFlags="flagIncludeNotImportantViews"
    android:description="@string/accessibility_service_description"
    xmlns:android="http://schemas.android.com/apk/res/android"
    tools:ignore="UnusedAttribute"/>

无障碍服务代码:

public class WindowChangeDetectingService extends AccessibilityService {

 @Override
    protected void onServiceConnected() {
       ...
    }

 @Override
    public void onAccessibilityEvent(AccessibilityEvent event) {
       ...
    }
}

我在真实设备和模拟器上都试过了。我已经尝试了我在互联网上可以找到的任何东西,包括重新启动设备。我也重新启动了电脑。我尝试了 Rebuild ProjectClean Project。我试图删除我今天添加的所有代码,使其与昨天工作时相同。我不知道还能做什么。如果没有无障碍服务,我的应用程序就无法存在。请有人帮忙!我会尝试任何建议,即使你怀疑它会起作用。

标签: javaandroidandroid-studio

解决方案


推荐阅读