我正在使用无障碍服务做一些任务。一切都很好,但我需要删除我的 xml 配置并从 onServiConnected 配置方法运行服务,这就是我遇到问题的地方。
当我在手机中启用服务时,我可以在日志中看到 onServiceConnected 有效,但它不适用于包名称,就像我在 access_xml_config 中运行配置的位置一样。
然后,我想做的是具有与 access_xml_config 相同的功能,但在 onServiceConnected 方法中。
我的方法:
@Override
@SuppressLint("NewApi")
public void onServiceConnected() {
super.onServiceConnected();
Log.i(TAG, "onServiceConnected AccessibilityService");
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.flags = AccessibilityServiceInfo.DEFAULT;
info.getCanRetrieveWindowContent();
info.notificationTimeout = 100;
info.feedbackType = AccessibilityServiceInfo.FLAG_RETRIEVE_INTERACTIVE_WINDOWS;
info.feedbackType = AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
info.feedbackType = AccessibilityServiceInfo.FEEDBACK_GENERIC;
info.feedbackType = AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS;
info.packageNames = new String[]{"com.android.incallui"};
this.setServiceInfo(info);
}
显现
<service android:name=".VsAccessibilityCallScreenService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name= "android.accessibilityservice.AccessibilityService" />
</intent-filter>
这是我的 access_xml_config:
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:packageNames="com.android.incallui"
android:accessibilityEventTypes="typeAllMask"
android:accessibilityFlags="flagDefault|flagReportViewIds|flagIncludeNotImportantViews|flagRetrieveInteractiveWindows"
android:accessibilityFeedbackType="feedbackGeneric"
android:notificationTimeout="100"
android:canRetrieveWindowContent="true"
android:description="@string/app_name"
/>