我正在尝试通过使用以下命令开始我的AccessibilityService实现
Intent mailAccessabilityIntent = new Intent(this, EmailAccessabilityService.class);
startService(mailAccessabilityIntent);我的问题是onServiceConnected()从未被调用过。如何正确启动此服务?
发布于 2012-09-09 10:35:00
因为辅助功能服务能够浏览屏幕上的内容并与之交互,所以用户必须在Settings > Accessibility中显式启用服务。服务启用后,系统会自动启动服务,并将其绑定到可访问性API。
确保在应用程序清单中声明您的服务:
<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属性位于标记后面的声明中,如下所示:
<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上使用哪些标签的详细信息
发布于 2012-05-24 05:07:01
我今天才做了这件事。一旦创建了您的服务,并使用可访问性意图过滤器在清单文件中正确列出了该服务。然后,您的服务将出现在设置-辅助功能-服务下。您可以通过单击它来启动它,然后将其打开。我还不知道如何通过intents启动它,如果可能的话。我想它是李GPS,你只能导航到用户的开始按钮。
https://stackoverflow.com/questions/9313472
复制相似问题