首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何启动AccessibilityService?

如何启动AccessibilityService?
EN

Stack Overflow用户
提问于 2012-02-16 22:55:28
回答 2查看 17.5K关注 0票数 15

我正在尝试通过使用以下命令开始我的AccessibilityService实现

代码语言:javascript
复制
Intent mailAccessabilityIntent = new Intent(this, EmailAccessabilityService.class);
startService(mailAccessabilityIntent);

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

EN

回答 2

Stack Overflow用户

发布于 2012-09-09 10:35:00

因为辅助功能服务能够浏览屏幕上的内容并与之交互,所以用户必须在Settings > Accessibility中显式启用服务。服务启用后,系统会自动启动服务,并将其绑定到可访问性API。

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

代码语言:javascript
复制
<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属性位于标记后面的声明中,如下所示:

代码语言:javascript
复制
<meta-data android:name="android.accessibilityservice"
           android:resource="@xml/accessibilityservice" />

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

代码语言:javascript
复制
<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上使用哪些标签的详细信息

票数 37
EN

Stack Overflow用户

发布于 2012-05-24 05:07:01

我今天才做了这件事。一旦创建了您的服务,并使用可访问性意图过滤器在清单文件中正确列出了该服务。然后,您的服务将出现在设置-辅助功能-服务下。您可以通过单击它来启动它,然后将其打开。我还不知道如何通过intents启动它,如果可能的话。我想它是李GPS,你只能导航到用户的开始按钮。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9313472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档