【发布时间】:2014-12-19 21:28:19
【问题描述】:
如何使用4.0以上的Accessibility Service在android中获取通知?
为什么onAccessibilityEvent(AccessibilityEvent event) 在 4.0 以上触发通知时不调用
请给出正确的建议
提前致谢
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
final int eventType = event.getEventType();
System.out.println("MyServ.onAccessibilityEvent()");
switch (eventType) {
case AccessibilityEvent.TYPE_VIEW_FOCUSED:
Toast.makeText(getApplicationContext(), "Notification fired",
Toast.LENGTH_LONG).show();
break;
case AccessibilityEvent.TYPE_ANNOUNCEMENT:
Toast.makeText(getApplicationContext(), "Type is Announcement",
Toast.LENGTH_LONG).show();
break;
default:
break;
}
}
在onServiceConnected()
@Override
protected void onServiceConnected() {
super.onServiceConnected();
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED;
info.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN;
setServiceInfo(info);
}
【问题讨论】:
-
它正在工作,谢谢@androiduser
-
调用Broadcast不止一次??我怎样才能控制@androiduser
-
调用Broadcast不止一次??这意味着什么??我猜你是想说你的广播接收器被多次调用......
-
是的,当我从可访问性事件中获取事件时,我想调用 Broadcast Receiver @androiduser