使用AccessibilityService读取通知

我最近尝试使用AccessibilityService读取传入的通知。 我知道使用NotificationListenerService读取通知,但这不是我需要的(为了与较低的Android版本兼容)。 我的问题是, OnServiceConnected()永远不会被调用,即使在我的设置中,我已经为我的应用程序提供了必要的预测。 这是我的代码:

 public class NotificationAccessibilityService extends AccessibilityService{ protected void onServiceConnected() { Log.d("Tortuga", "AccessibilityService Connected"); AccessibilityServiceInfo info = new AccessibilityServiceInfo(); info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED; info.feedbackType = AccessibilityServiceInfo.FEEDBACK_ALL_MASK; info.notificationTimeout = 100; setServiceInfo(info); } @Override public void onAccessibilityEvent(AccessibilityEvent e) { Log.d("Tortuga","FML"); if (e.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) { Log.d("Tortuga","Recieved event"); Parcelable data = e.getParcelableData(); if (data instanceof Notification) { Log.d("Tortuga","Recieved notification"); Notification notification = (Notification) data; Log.d("Tortuga","ticker: " + notification.tickerText); Log.d("Tortuga","icon: " + notification.icon); Log.d("Tortuga", "notification: "+ e.getText()); } } } @Override public void onInterrupt() { // TODO Auto-generated method stub } } 

我的XML:

AndroidManifest.xml

       

XML \ accessibilityservice.xml

   

请帮忙,我迷路了。 我目前正在运行Nexus 5.谢谢!

你开始服务吗?在“设置 – 辅助function – 你的服务”