5

我有这个应用程序在 adnroid 设备上运行。我需要对 WhatsApp 通知做出反应(因为我不知道任何其他方式)并让我的应用程序通知用户有关新消息的信息。我们的用户是残疾人,所以我们需要提供更简单的界面。为了获得通知,我使用“com.whatsapp”包过滤器创建了可访问性服务。一切正常,直到我们重新安装我们的应用程序。重新安装后,我们必须再次手动绑定服务(这是非常有问题的)。任何帮助将不胜感激!

这是“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(), "New WhatsApp message"); } }

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" />

和表现部分

     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" />

提前致谢!

4

0 回答 0