Como posso permitir que o TTS grave arquivos nos diretórios do meu aplicativo?

Quero gravar a saída do mecanismo TextToSpeech no diretório de cache do meu aplicativo. Para que o TTS escreva lá, primeiro preciso conceder permissões para fazê-lo. Mas eu não sei como. Entendo que normalmente esses problemas podem ser resolvidos entregando umFileDescriptor over, assim, dando permissões para acessar um arquivo específico. Mas não posso fazer isso com o TTS, pois o método TextToSpeech.synthesizeToFile aceita apenas o caminho do arquivo como uma String, noFileDescriptor. Então o que fazer

Para enfatizar que o TTS realmente não tem permissão para gravar nos diretórios do meu aplicativo, aqui está o código ...:

TextToSpeech mTts = new new TextToSpeech(context, this);
mTts.synthesizeToFile(text, null, getCacheDir() + "/" + "speech.wav");

E o log do depurador:

08-20 14:46:11.257: ERROR/TtsService(336): Can't create
/data/data/com.myorg.myapp/cache/speech.wav due to exception java.io.IOException: Permission denied

questionAnswers(2)

yourAnswerToTheQuestion