16

Up to API 29 tts is working fine on android to speak out any text

But on API 30 tts is not working anymore and i do not know why

The google documentation says :

"Apps targeting Android 11 that use text-to-speech should declare TextToSpeech.Engine#INTENT_ACTION_TTS_SERVICE in the elements of their manifest"

I do not exactly know what they mean and how to implement this in the manifest.

I hope anybody can help me with this.

Frank
  • 2,738
  • 2
  • 14
  • 19

2 Answers2

29

Although probably not the best answer (or maybe just a glitch on Androids part) add the following code just above the <application in your manifest.

<queries>
    <intent>
        <action android:name="android.intent.action.TTS_SERVICE" />
    </intent>
</queries>

<application
    android:allowBackup="false"

After adding this code my TTS service started to work again, but I do get a warning from the manifest file about it not being allowed there, but anywhere in the manifest gives this same warning so I suppress it with <!--suppress AndroidElementNotAllowed --> just above the <manifest tag at the top.

Jayce
  • 781
  • 3
  • 16
  • 35
  • He Jayce thank you so far for your solution. I will check this out. Hopefully we will get a better solution soon . The Google documentation is really poor without any explanation – Frank Aug 22 '20 at 02:11
  • Wow this worked but I'm more surprised that this problem exists! very wierd. – Nerdy Bunz Aug 04 '23 at 00:48
4

@jayce's answer helps if app is targeting the Android 11 https://developer.android.com/reference/android/speech/tts/TextToSpeech

Note: sorry for the noise but I don't have enough reputation to put my comment there.

Gilliy
  • 71
  • 3