通知超时 - 指定可访问性事件之间的延迟

时间:2018-04-10 01:34:21

标签: android

我想延迟进入我的辅助功能服务的辅助功能事件,以便辅助功能事件之间的差距为2秒。这是为了使我不会处理太多的可访问性事件并浪费电池寿命。

通过阅读文档,正确的方法似乎是在我的xml中为我的服务指定“android:notificationTimeout”属性。

<accessibility-service
     android:accessibilityEventTypes="typeViewClicked|typeViewFocused"
     android:packageNames="com.example.android.myFirstApp, com.example.android.mySecondApp"
     android:accessibilityFeedbackType="feedbackSpoken"
     **android:notificationTimeout="2000"**
     android:settingsActivity="com.example.android.apis.accessibility.TestBackActivity"
     android:canRetrieveWindowContent="true"
/>

但是,由于某种原因,此通知超时似乎没有被使用。只有“第一次”可访问性事件将被延迟2秒,但之后我会立即收到任何后续事件。

有趣的是,我注意到文档中有些奇怪。文档中似乎有两个“notificationTimeout”条目,它们的行为明显不同。

1) https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html#notificationTimeout

The minimal period in milliseconds between two accessibility events of the same type are sent to this service. This setting can be changed at runtime by calling android.accessibilityservice.AccessibilityService.setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo).


2) https://developer.android.com/reference/android/accessibilityservice/AccessibilityServiceInfo.html#attr_android:notificationTimeout

The timeout after the most recent event of a given type before an AccessibilityService is notified.

这令人困惑。我想使用的“notificationTimeout”的变体是第一个。但是我不知道我是怎么做到的。我认为我可以通过使用我的示例中的XML属性来实现这一点。

0 个答案:

没有答案