我在设备上的两个不同应用中有两个辅助功能服务。他们每个人都对其他应用程序有一些看法。我面临以下问题:当启用2个辅助功能服务时,只有一个绘制视图,另一个不会获得任何事件。
事件配置如下:
@Override
protected void onServiceConnected() {
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.eventTypes = AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;
info.feedbackType = AccessibilityEvent.TYPES_ALL_MASK;
info.notificationTimeout = TIMEOUT_IN_MS;
setServiceInfo(info);
super.onServiceConnected();
}
我可以在前Lollipop Android版本上重现它,也可以在Android M上重现。在Android O和N上,所有服务都可以正常工作。
有人可以向我解释一下它是如何发生的,也许从Android N开始有一些改进吗? 如果有办法让它们同时工作,你能不能给我一个实现呢?
答案 0 :(得分:2)
你实际上根本无法在Pre Android N上运行两个辅助功能服务。一个将永远崩溃,并创建一个在后台运行的陈旧/守护程序服务,阻止您重新启动崩溃的服务。这与服务功能及其功能无关。事实上,即使是使用Android Instrumentation测试运行的虚假UIAutomation服务也会导致正在运行的服务崩溃。没有办法解决这个限制。