gpt4 book ai didi

android - 如何启动AccessibilityService?

转载 作者:可可西里 更新时间:2023-11-01 19:11:16 28 4
gpt4 key购买 nike

我正在尝试使用

开始实现 AccessibilityService
Intent mailAccessabilityIntent = new Intent(this, EmailAccessabilityService.class);
startService(mailAccessabilityIntent);

我的问题是 onServiceConnected() 从未被调用过。如何正确启动此服务?

最佳答案

由于无障碍服务能够探索屏幕内容并与之交互,因此用户必须在“设置”>“无障碍”中明确启用服务。启用服务后,系统将自动启动它并将其绑定(bind)到可访问性 API。

确保在应用程序 list 中声明您的服务:

<service android:name=".MyAccessibilityService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
. . .
</service>

您还需要为您的服务提供配置,方法是覆盖 setServiceInfo(AccessibilityServiceInfo) 或添加元数据属性和 XML 配置文件。

元数据属性在 标记之后的 声明中,如下所示:

<meta-data android:name="android.accessibilityservice"
android:resource="@xml/accessibilityservice" />

您引用的 XML 配置(在本例中为 accessibilityservice.xml)如下所示:

<accessibility-service
android:accessibilityEventTypes="typeViewClicked|typeViewFocused"
android:packageNames="foo.bar, foo.baz"
android:accessibilityFeedbackType="feedbackSpoken"
android:notificationTimeout="100"
android:accessibilityFlags="flagDefault"
android:settingsActivity="foo.bar.TestBackActivity"
android:canRetrieveWindowContent="true"
. . .
/>

http://developer.android.com/reference/android/R.styleable.html#AccessibilityService 上有更多关于您可以使用哪些标签的信息。

关于android - 如何启动AccessibilityService?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9313472/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com