Android - Preventing TalkBack to read the application Name and current Orientation

夙愿已清 提交于 2019-12-04 05:27:10

A solution would be to override dispatchPopulateAccessibilityEvent() in Activity to return true. This will prevent Talkback from announcing activity label.

Eng-Ahmed Elsayed

But this line in onCreate of Launcher Activity

Kotlin:

ViewCompat.setImportantForAccessibility(window.decorView,
ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO)

Java:

ViewCompat.setImportantForAccessibility(getWindow().getDecorView(),
ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO);

This worked for me.

So, Is there any API that I could call to prevent the TalkBack feature from reading the application name when an application is launched?

Not that I am aware of.

Problem is I am using TTS to read a long string message when my activity is launched, but TalkBack automatically reads the application name in the middle of it and cuts the long string and is very annoying.

Then delay your "long string message" a bit, to give time for TalkBack to do its standard announcements.

For Preventing TalkBack to read the application Name every time you switch activity is to set a name (label) of the Activity in Manifest:

<activity
        android:name=".pavlos.myActivity"
        android:label="Pavlos Activity" />

Adding android:name="" to Manifest will stop TalkBack announcing the name of the App every time you switch Activities.

Shilbodhi Shambharkar

You should add this to AndroidManifest.xml

<activity
            android:name="com.mobile.myapp.test"
            android:label="About"
            android:screenOrientation="portrait" />

Leave android:label empty if you don't want TalkBack to read activity name.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!