我已经为我的应用编写了自己的AccessibilityService
。它在内部使用 TextToSpeech
为浏览我的应用程序的用户提供语音反馈。当 TalkBack
和 MyAccessibilityService
都打开时,我会从我的应用程序获得语音反馈,然后是 TalkBack 的反馈。
因为我的应用程序拥有无障碍服务,有什么方法可以停止我的应用程序的 TalkBack 吗?
最佳答案
我正在处理这个问题,我设法解决了这个问题。
您必须让您的服务负责您应用的可访问性,为此您必须在 list 中添加:
<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()
关于绕过 Android TalkBack 的 Android 无障碍服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23607594/