【发布时间】:2017-10-05 01:25:12
【问题描述】:
我使用辅助功能服务在 Google 相册应用上绘制图标,并使用下面的代码:
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;
info.feedbackType = AccessibilityServiceInfo.FEEDBACK_ALL_MASK;
info.packageNames = new String[] {"com.google.android.apps.photos"};
info.notificationTimeout = 100;
setServiceInfo(info);
但是当用户关闭或隐藏应用程序时,图标会离开。我没有找到任何可以处理这种情况的事件。任何人都可以帮我解决这个问题。我只想为某些应用绘制图标,并在用户关闭此应用后将其删除。
更新
我使用了 AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED 事件并逐个事件获取包名,但是从 Android N 中,当我绘制图标时,AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED 发生在我自己的包名和图标被删除。
【问题讨论】:
-
所以,澄清一下,你有时想画一个图标,有时又删除它。而且您不知道何时删除以及何时添加您的图标?
-
@ChrisCM 我想在打开具有所需包名称的应用程序时绘制一些图标,并在关闭此类应用程序时删除图标。
-
这里没有足够的信息。您应该添加一些代码来显示您何时调用“addIcon”函数以及何时调用“removeIcon”函数。现在我们只能推测你什么时候这样做。例如:在我看来,当您从 com.google.... 包中获取窗口状态更改事件时,您会无差别地调用 add/remove。
标签: java android accessibilityservice talkback accessibility