久しぶりに用事があって、Android API プログラミング・リファレンスのTextToSpeechのサンプルを使ってみたのですが、一部メソッドが失敗するようになってました。
調べてみると、いつの間にかは知りませんが、TextToSpeech#synthesizeToFile()
が、android.permission.WRITE_EXTERNAL_STORAGE権限を要求するようになってました。
このメソッドは、読んで字のごとくですが、外部ストレージにスピーチ内容を保存するというものです。外部ストレージにファイルを保存するというものなので当然android.permission.WRITE_EXTERNAL_STORAGE権限が必要なはずなのですが、なぜか執筆当初は権限無しで動作していました。まあ、修正されたのでバグということだと思いますが。
まあ、権限は設定していて損があるものではありませんし、TextToSpeech#synthesizeToFile()
を使うときは忘れずにandroid.permission.WRITE_EXTERNAL_STORAGE権限をAndroidManifestに設定しておきましょう。というお話しでした。