我做了一个Android应用程序。现在我需要该应用程序在 Android TV 上运行。我的应用程序使用辅助功能服务,但我找不到如何在 Android TV 上为我的应用程序启用辅助功能服务。
如何才能做到?
Android 具有辅助功能服务 API,它为帮助残障或暂时能力受损的用户提供了多种可能性。
通常,辅助服务读取并解释屏幕上的视图,允许与视图交互(单击、长按、滚动等)、捕获按键、触摸事件等。
开发应用程序时要记住的要点:
在清单中声明辅助功能服务:请务必在 AndroidManifest.xml 文件中声明它。
<service android:name=".MyAccessibilityService"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE" >
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
. . .
</service>
扩展 AccessibilityService 类:您的服务必须扩展 AccessibilityService 并实现 onAccessibilityEvent() 和 onInterrupt() 方法。
public class MyAccessibilityService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
// Respond to the accessibility event
}
@Override
public void onInterrupt() {
// Respond when the service is interrupted, for example, when the user turns off accessibility.
}
}
请记住,并非所有辅助功能都与所有设备兼容,尤其是电视。您应该在预期的硬件上彻底测试您的应用程序。
最后,使用辅助服务还需要 android.permission.BIND_ACCESSIBILITY_SERVICE 权限。用户必须在辅助功能设置下手动启用该服务。