Android AccessibilityService
을 조사 중이며 가능한 모든 유형의 이벤트, 즉 제스처 및 주요 이벤트를보고 싶었습니다.Android AccessibilityService를 구성하는 방법
나는 protected boolean onGesture(int gestureId) {}
또는 protected boolean onKeyEvent(KeyEvent event) {}
전화를 모두 public void onAccessibilityEvent(final AccessibilityEvent accessibilityEvent) {}
그러나 내 서비스 느 베르를 수신받을 수 있어요.
나는 서비스가 OK 연결을 참조하십시오 접근성 설정에서 내 접근성 서비스를 활성화
나는 서비스가 내가 구성하지 않은 무엇 public void onAccessibilityEvent(final AccessibilityEvent accessibilityEvent) {}
방법
에서 로그 아웃 볼 수 있습니까? 또는 잘못 구성 되었습니까?
내 매니페스트 파일이
<service
android:name=".MyAccessibilityService"
android:label="My Accessibility"
android:enabled="true"
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/accessibilityservice" />
</service>
모양은 XML accessibilityservice 내용은 다음과 같습니다 : -
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFeedbackType="feedbackSpoken"
android:accessibilityFlags="flagDefault"
android:canRequestEnhancedWebAccessibility="true"
android:canRequestFilterKeyEvents="true"
android:canRequestTouchExplorationMode="true"
android:canRetrieveWindowContent="true"
android:notificationTimeout="1000"
android:packageNames="com.research.my.accessibility" />
AccessibilityServiceInfo은 다음과 같다 서비스 : -
@Override
protected void onServiceConnected() {
super.onServiceConnected();
Log.d("TAG", "onServiceConnected");
final AccessibilityServiceInfo accessibilityServiceInfo = new AccessibilityServiceInfo();
accessibilityServiceInfo.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;
accessibilityServiceInfo.feedbackType = AccessibilityServiceInfo.FEEDBACK_ALL_MASK;
accessibilityServiceInfo.packageNames = new String[] {"com.research.my.accessibility"};
accessibilityServiceInfo.notificationTimeout = 1000;
setServiceInfo(accessibilityServiceInfo);
}