Был ли изменен AccessibilityService в Android Pie? - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть этот класс AccessibilityService, работающий в Android Oreo (API 27) и ранее:

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.test.testaccessibility">

<application
    android:icon="@mipmap/ic_launcher"
    android:label="TestAccessibility">
<service
    android:name=".TestAccessibility"
    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/test_accessibility" />
</service>
</application>

test_accessibility.xml

<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeViewTextChanged"
android:accessibilityFeedbackType="feedbackGeneric"
android:accessibilityFlags="flagDefault"
android:canRetrieveWindowContent="true"
android:notificationTimeout="10" />

TestAccessibility.java пакет com.google.test.testaccessibility;

import android.accessibilityservice.AccessibilityService;
import android.util.Log;
import android.view.accessibility.AccessibilityEvent;

public class TestAccessibility extends AccessibilityService {
    @Override
    public void onAccessibilityEvent(AccessibilityEvent event) {
        Log.d("TestAccessibility", "onAccessibilityEvent");
    }

    @Override
    public void onInterrupt() {
        Log.d("TestAccessibility", "onInterrupt");
    }

    @Override
    protected void onServiceConnected() {
        Log.d("TestAccessibility", "onServiceConnected");
    }
}

Работает и метод onAccessibilityEvent вызывается каждый раз, когда текст изменяется в любом приложении, но когда я запускаю этот код в Android Pie (API 28), вызывается только onServiceConnected .Я предполагаю, что что-то было изменено с API 27 на 28, но я не могу найти ничего в сети.Кто-нибудь может дать мне подсказку?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 24 ноября 2018

Сообщается об ошибке:

https://issuetracker.google.com/issues/117747909

Я попытаюсь обновить этот ответ ответом об ошибке.

0 голосов
/ 19 ноября 2018

Ничего не изменилось намеренно, и большинство служб работают.

Две вещи, которые стоит попробовать: 1) Codelab для развития сервиса доступности: https://codelabs.developers.google.com/codelabs/developing-android-a11y-service/index.html

2) Удаление уведомления Timeout

...