Я пытаюсь создать службу специальных возможностей, чтобы использовать функцию автозаполнения в браузерах на Android.
Мой проект - это флаттер, но в настоящее время я работаю над своим сервисом в Котлине. Моя проблема в том, что функция onAccessibilityEvent в моем сервисе никогда не вызывается. Я искал несколько дней на Stackoverflow, но ни одно из решений не помогло мне. Вызывается функция «onServiceConnected».
Мой класс обслуживания:
class PasswordAutofillAccessService: AccessibilityService() {
override fun onServiceConnected() {
print("test service connected")
super.onServiceConnected()
}
override fun onInterrupt() {
print("test interrupt")
}
override fun onUnbind(intent: Intent?): Boolean {
print("test unbind")
return super.onUnbind(intent)
}
override fun onAccessibilityEvent(event: AccessibilityEvent?) {
print("test event")
}
override fun onRebind(intent: Intent?) {
super.onRebind(intent)
}
}
Моя конфигурация службы доступа XML:
<accessibility-service
xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeViewFocused|typeViewClicked"
android:accessibilityFeedbackType="feedbackAllMask"
android:canRequestEnhancedWebAccessibility="true"
android:notificationTimeout="100"
android:packageNames="net.company.my_app"
android:description="@string/serviceDescription"
android:canRetrieveWindowContent="true"
android:accessibilityFlags="flagRetrieveInteractiveWindows"
android:settingsActivity="net.company.my_app.AuthenticateActivity"
/>
В AndroidManifest:
<service android:name=".PasswordAutofillAccessService"
android:enabled="true"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
android:label="Test app">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/accessibility_service" />
</service>
В настоящее время я тестирую Pixel 3 с Android P (PQ3A.190705.003). Я пытался с некоторыми другими (API 26 и +), и это все еще проблема.
Спасибо за помощь!