我试图让我的应用在显示通知时进行检测。我已经在设置应用程序中启用它,并且onServiceConnected确实被调用,但是当我通过Gmail应用程序创建通知或接收电子邮件时,什么也没有发生,onAccessibilityEvent不会被调用。Android无障碍服务检测通知
Android清单:
package="com.test.slide"
android:versionCode="1"
android:versionName="1.0">
android:minSdkVersion="8"
android:targetSdkVersion="15"/>
android:icon="@drawable/ic_launcher"
android:theme="@style/AppTheme">
android:name=".Settings"
android:label="Slide">
android:name=".Tools"
android:label="Slide"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
android:label="Slide"
android:enabled="true"
android:exported="false">
NotificationService.java
package com.test.slide;
import android.accessibilityservice.AccessibilityService;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.view.accessibility.AccessibilityEvent;
public class NotificationService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
System.out.println("onAccessibilityEvent");
if (event.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) {
System.out.println("notification: " + event.getText());
}
}
@Override
protected void onServiceConnected() {
System.out.println("onServiceConnected");
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED;
info.notificationTimeout = 100;
info.feedbackType = AccessibilityEvent.TYPES_ALL_MASK;
setServiceInfo(info);
}
@Override
public void onInterrupt() {
System.out.println("onInterrupt");
}
}
感谢您的帮助。
2012-09-23
ng93
+0
您是否找到了解决办法?我也有完全一样的问题。 –
+0
alanv的答案对我有用 –
+0
对于什么系统版本你编程? ICS?果冻豆? –