Специальные события, не распознаваемые сервисом специальных возможностей в Android 2.3(ГБ)
Мой код прекрасно работает с версиями Android выше 4, но в Android 2.2 или 2.3 я не могу обнаружить событие. Журналы Android показывают, что служба работает, но всякий раз, когда я запускаю событие, оно не распознается службой специальных возможностей. В следующем коде:
public void onAccessibilityEvent(AccessibilityEvent event)
{
Log.i("abc","------service running---------");
final int eventType = event.getEventType();
switch(eventType)
{
case AccessibilityEvent.TYPE_VIEW_CLICKED :
//do something
break;
}
}
Я не могу получить Log "------service running---------"
также. Чего мне не хватает Есть ли какие-либо изменения, которые необходимо внести для запуска одного и того же кода на разных версиях Android.
1 ответ
Вам нужно будет вручную указать типы событий и отзывов вашей службы, установив AccessibilityServiceInfo вашей службы в onServiceConnected().
Вот пример из TalkBack:
@Override
public void onServiceConnected() {
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;
info.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN;
info.notificationTimeout = 0;
info.flags = AccessibilityServiceInfo.DEFAULT;
setServiceInfo(info);
}