Android辅助功能服务绕过Android TalkBack

时间:2014-05-12 11:20:27

标签: android text-to-speech talkback accessibilityservice

我为自己的应用编写了自己的AccessibilityService。在内部,它使用TextToSpeech为浏览我的应用的用户提供语音反馈。当TalkBackMyAccessibilityService都被启用时,我会收到来自我的应用的反馈意见,然后是TalkBack的反馈。

有没有办法为我的应用程序停止TalkBack,因为我拥有应用程序的辅助功能服务?

1 个答案:

答案 0 :(得分:1)

我正在处理这个问题,我设法解决了这个问题。

你必须让你的服务负责你的应用程序的可访问性,因为你必须在清单中添加它:

<service android:name="communication_interfaces.MyAccessibilityService"
        android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
        <intent-filter>
            <action android:name="android.accessibilityservice.AccessibilityService" />
        </intent-filter>
        <meta-data android:name="android.accessibilityservice"
                   android:resource="@xml/serviceconfig" />
    </service>

then in serviceconfig

    <?xml version="1.0" encoding="utf-8"?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
     android:accessibilityEventTypes="typeAllMask"
     android:packageNames="com.packagename"
    android:accessibilityFeedbackType="feedbackSpoken|feedbackHaptic|feedbackAudible|feedbackGeneric"
     android:notificationTimeout="100"
     android:settingsActivity="com.myActivity"
     android:canRetrieveWindowContent="true"
     android:description="@string/service_description"/>

就是这样,记住你是否正在这样做,你不需要覆盖onServiceConnected()。

/*@Override
        protected void onServiceConnected()