Android-Eingabehilfedienst nach Neuinstallation nicht verbunden

Ich habe diese Anwendung auf Android-Geräten ausgeführt. Ich muss auf WhatsApp-Benachrichtigungen reagieren (da mir keine andere Möglichkeit bekannt ist) und meine Anwendung den Benutzer über neue Nachrichten benachrichtigen. Unsere Benutzer sind Menschen mit Behinderungen, daher müssen wir eine etwas einfachere Benutzeroberfläche bereitstellen. Um die Benachrichtigung zu erhalten, habe ich den Eingabehilfedienst mit dem Paketfilter "com.whatsapp" erstellt. Alles funktioniert gut, bis wir unsere Anwendung neu installieren. Nach der Neuinstallation müssen wir den Dienst erneut manuell binden (was sehr problematisch ist). Jede Hilfe wäre sehr dankbar!

Dies ist der Code "onAccessibilityEvent":

@Override
public void onAccessibilityEvent(AccessibilityEvent event) {

    Log.d(TAG, "NotificationService event");

    if (event.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) {

        String packageName = event.getPackageName().toString();

        if(packageName.equals("com.whatsapp")){
            // do some logic;
        }

// Utils.showLargeToast (getApplicationContext (), "Neue WhatsApp-Nachricht"); }}

accessibilty_service_config

android:packageNames="@null"
android:accessibilityEventTypes="typeNotificationStateChanged"
android:accessibilityFlags="flagDefault"
android:accessibilityFeedbackType="feedbackGeneric"
android:notificationTimeout="100"
android:canRetrieveWindowContent="false"
android:description="@string/description_that_shows_on_the_accessibility_page" />

und offenkundiger Teil

     android:name=".NotificationService"
        android:enabled="true"
        android:exported="false"
        android:label="WhatsApp Monitor Service">

        <intent-filter>
            <action android:name="android.accessibilityservice.AccessibilityService" />
        </intent-filter>

        <meta-data
            android:name="android.accessibilityservice"
            android:resource="@xml/accessibility_service_config" />

Danke im Voraus!

Antworten auf die Frage(0)

Ihre Antwort auf die Frage