ノラプログラマーの技術メモ

ネットで調べても出てこなかった情報を載せていきたい技術系ブログ。

androidアプリで「テキスト読み上げの設定」を開く方法

概要

androidアプリで設定画面を開きたい。普通に開くだけなら以下のコードでOK。

Intent intent = new Intent();
intent.setAction(Settings.ACTION_INPUT_METHOD_SETTINGS);
startActivity(intent);

でもどうせならもっと下位の階層の設定画面を開きたい。そっちの方がユーザーにとって便利だからだ。ここでは「テキスト読み上げの設定」を開く例を示す。

f:id:kawai_norimitsu:20150722082240p:plain

環境
解決法

intentのsetactionに「com.android.settings.TTS_SETTINGS」を設定する。androidは端末によって挙動が違うので、try - catchで例外処理しておいた方が良い。

Intent intent = new Intent();
intent.setAction("com.android.settings.TTS_SETTINGS");
try {
    startActivity(intent);
}
catch(ActivityNotFoundException e) {
    Toast.makeText(getApplicationContext(), "[設定] - [言語と入力] からテキスト読み上げを開いてください", Toast.LENGTH_LONG).show();
}

ちなみに「com.android.settings.TextToSpeechSettings」で同様のことができるとのネット情報があるけど、こちらは現在では使われていない様子。