Ich versuche, eine AccessibilityService
zu implementieren. Ich habe meinen Code unten geteilt. Wenn ich meinen Accessibility-Service über das Einstellungsmenü einschalte, wird onServiceConnected()
aufgerufen, aber onAccessibiltyEvent()
wird überhaupt nicht aufgerufen. Bitte leiten Sie mich dazu.onAccessibilityEvent überhaupt nicht aufgerufen
Serviceerklärung in der Manifestdatei.
<service
android:name=".MyAccessibilityService"
android:enabled="true"
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/accessibility_service_config" />
</service>
XML-Datei
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:description="@string/accessibility_service_description"
android:accessibilityEventTypes="typeAllMask"
android:canRequestFilterKeyEvents="true"
android:accessibilityFlags="flagDefault"
android:notificationTimeout="100"
android:canRetrieveWindowContent="true"
/>
MyAccessibiltyService.java
public class MyAccessibilityService extends AccessibilityService {
@Override
protected void onServiceConnected() {
super.onServiceConnected();
Log.d(TAG,"Service Connected");
}
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
System.out.println("Event Occurred");
Log.d(TAG, "onAccessibilityEvent: event=" + event);
AccessibilityNodeInfo nodeInfo = event.getSource();
if (null == nodeInfo) return;
}
@Override
public void onInterrupt() {
Log.d(TAG,"Accessibility Interrupted");
}
@Override
public void onDestroy() {
super.onDestroy();
Log.d(TAG,"Service Destroyed");
}
}
Bitte beachten Sie, dass ich bereits alle Antworten daher Stackoverflow dies nicht markieren, als Duplikat überprüft haben.
Yep versucht. Auch damit kein Glück. –