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

后端 未结 6 1615
死守一世寂寞
死守一世寂寞 2021-02-20 15:14

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

相关标签:
6条回答
  • 2021-02-20 15:43

    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.

    0 讨论(0)
  • 2021-02-20 15:52

    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.

    0 讨论(0)
  • 2021-02-20 15:52

    In my case the app name was mispronounced by TalkBack. I fixed that by correcting the string name in strings.xml file.

    <resources>
      <string name="app_name">Your App Name</string>
    </resources>
    

    What I previously had there was a name without spaces.

    <resources>
      <string name="app_name">YourAppName</string>
    </resources>
    

    I hope that if you just left it empty or with empty space, you would get your desired effect.

    0 讨论(0)
  • 2021-02-20 16:04

    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.

    0 讨论(0)
  • 2021-02-20 16:06

    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.

    0 讨论(0)
  • 2021-02-20 16:09

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

    0 讨论(0)
提交回复
热议问题