onAccessibilityEvent
从不访问Android Pie。首先,这是我的代码
public class MyAccessibilityService extends AccessibilityService {
@Override
public void onInterrupt() {
}
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
final int eventType = event.getEventType();
switch(eventType) {
case AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED:
Log.e("called called ","nnnnnnnnnnnnnnn TYPE_VIEW_TEXT_CHANGED "+visibility);
show();
break;
case AccessibilityEvent.TYPE_VIEW_FOCUSED:
break;
}
}
@Override
protected void onServiceConnected() {
super.onServiceConnected();
}
@Override
public void onDestroy() {
super.onDestroy();
}
}
这是我的清单服务
<service
android:name=".service.MyAccessibilityService"
class=".MyAccessibilityService"
android:enabled="true"
android:exported="false"
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/serviceconfig" />
</service>
和serviceConfig xml
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:description="@string/app_name"
android:accessibilityEventTypes="typeViewTextChanged|typeViewFocused"
android:accessibilityFeedbackType="feedbackAllMask"
android:notificationTimeout="20"
android:canRetrieveWindowContent="true"
/>
调用onServiceConnected
是没有问题的,而onDestroy
永远不会被调用,因此,我的服务永远不会被终止。onAccessibilityEvent
没有被调用,但当我在4.4.4
和7.0
等旧版本上测试它时,它可以工作。然而,在Pie上,onAccessibilityEvent
永远不会被调用
发布于 2019-04-16 03:33:11
可以尝试的一件事是删除notificationTimeout。这个参数没有经过很好的测试。
https://stackoverflow.com/questions/55663892
复制相似问题