#android #accessibilityservice #android-accessibility
#Android #accessibilityservice #Специальные возможности
Вопрос:
Я внедрил службу специальных возможностей для Android 7.0. Код показан ниже. Я хотел бы перехватить все возможные события и просто распечатать их на консоли. Проблема сейчас в том, что при запуске службы я получаю события, но телефон больше не реагирует на сенсорный ввод, т. Е. телефон в основном заблокирован.
В чем моя ошибка? Является ли захват всех событий проблемой с точки зрения производительности или загрузки процессора? Большую часть времени будет использоваться skype (чат), а иногда и браузер Chrome.
Манифест
<service android:name=".smartphone.MyAccessibilityService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/accessibility_config" />
</service>
accessibility_config.xml
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFeedbackType="feedbackAllMask"
android:canRequestTouchExplorationMode="true"
android:canRequestEnhancedWebAccessibility="true"
android:canRequestFilterKeyEvents="true"
android:canRetrieveWindowContent="true"
android:accessibilityFlags="flagDefault|flagIncludeNotImportantViews|flagReportViewIds|flagRequestEnhancedWebAccessibility|flagRequestFilterKeyEvents|flagRequestTouchExplorationMode|flagRetrieveInteractiveWindows" />
MyAccessibilityService.java
public class MyAccessibilityService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
Log.i("ACCESSIBILITY SERVICE", "ACCESSIBILITY SERVICE : " event.toString());
}
Ответ №1:
В режиме flagRequestTouchExplorationMode включен режим исследования прикосновений, который влияет на то, как ваше устройство реагирует на прикосновения.