我有这个应用程序在 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" />
提前致谢!