我已经为Android 7.0实现了辅助功能服务。代码如下所示。我想抓住所有可能的事件,然后将它们打印到控制台。现在的问题是,当我启动服务时,我正在接收事件,但电话不再对触摸输入作出反应,即电话基本上被阻止。
我的错是什么?捕获所有事件在性能或CPU负载方面是否存在问题?大部分时间都会使用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" />
my accessibility service.Java
public class MyAccessibilityService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
Log.i("ACCESSIBILITY SERVICE", "ACCESSIBILITY SERVICE : " + event.toString());
}
flagRequestTouchExplorationMode已打开触摸探索模式,这会影响设备对触摸的反应。