Я только начал кодировать свое приложение, которое использует Accessibility Service.Я объясню свою проблему подробно.
Ниже мой onServiceConnected
метод MyAccessibilityService
class
protected void onServiceConnected() {
super.onServiceConnected();
AccessibilityServiceInfo info = getServiceInfo();
info.eventTypes = AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED | AccessibilityEvent.WINDOWS_CHANGE_ADDED;
info.packageNames = new String[]
{THIRD_PARTY_APP_PACKAGE};
info.notificationTimeout = 100;
this.setServiceInfo(info);
}
Приложение обнаруживает события в onAccessibilityEvent()
method
public void onAccessibilityEvent(AccessibilityEvent event) {
AccessibilityNodeInfo source = event.getSource();
if (source == null) {
return;
}
Toast.makeText(this, "Event Occured", Toast.LENGTH_SHORT).show();
}
Теперь, когда я открываю стороннее приложение, я получаю тост "Событие произошло".Теперь я закрываю приложение, и когда я снова открываю его, метод не вызывается, и я не получаю тост.Чтобы это снова заработало, мне нужно отключить службу доступности моего приложения в настройках моего телефона и снова включить ее.
Я знаю, что что-то упустил, и мой единственный вопрос - что должно быть дополнительной частьюкод или какие модификации мне нужны, чтобы обнаруживать событие каждый раз, когда я открываю стороннее приложение?