Я занимаюсь разработкой приложения, которое должно собирать данные о взаимодействии пользователя с устройством Android (данные, связанные с касанием), аналогично в этом сообщении .
Я испробовал все предложенные в ответах подходы, начиная с наложения приложения с флагом WATCH_OUTSIDE_TOUCH
и без него.Подход getevent
также не подходит для меня, так как требует корневого или внешнего хранилища (как говорится в ответе).
Итак, я создал AccessibilityService
и теперь я могу обнаруживать такие события как: VIEW_CLICKED
, VIEW_SCROLLED
.Однако в документации я встречал также GESTURE_DETECTION_START
, GESTURE_DETECTION_END
, TOUCH_INTERACTION_START
и TOUCH_INTERACTION_END
.Я хотел бы использовать их для измерения времени взаимодействия.К сожалению, мой сервис вообще не получает эти события, несмотря на правильную (?) Конфигурацию.Моя текущая конфигурация выглядит так:
AndroidManifest.xml :
...
<service
android:name=".accessibility.MyAccessibilityService"
android:label="@string/accessibility_service_label"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityervice"
android:resource="@xml/accessibility_config" />
</service>
...
accessibility_config.xml :
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFeedbackType="feedbackAllMask"
android:description="@string/accessibility_service_description"
android:notificationTimeout="5"
android:summary="@string/accessibility_service_description" />
Подводя итог, мой сервис запускается и извлекает некоторые события должным образом, но в нем отсутствуют жесты и сенсорные события начала / окончания.Я пробовал много других конфигураций, включая все возможности и флаги, но без какого-либо эффекта.Также я попытался переопределить метод AccessibilityService::onGesture
, но он никогда не вызывался.Доступны ли эти события только в режиме сенсорного исследования?
Я описал свою проблему, может быть, немного шире, но я был бы признателен за любую помощь или предложения, даже не связанные строго с подходом AccessibilityService.