しかし、内容を音声で読み上げてはくれない。
この辺がちょっと不満である。
そこで、「Tasker」を使ってカレンダーデータを読みとり、音声出力で読み上げさせることができないかと考えた。
ネットを検索すると、下記ふたつの参考情報をみつけることができた。(どちらも英語サイト)
ひとつめのスレッドは、Google Calendarを読みとって必要な情報を切り出し、「Tasker」に読み上げさせるというもの。
ふたつめのスレッドは、スマホ端末内のカレンダーDBをSQLITE3で読みとるというもの。
本来、端末内に存在する情報は端末内で処理したいのだが、どうやらカレンダーDBを開くにはroot権限が必要らしい。仕方なく、ひとつめの方法をまねてみることにした。
指示されたxmlファイルをダウンロードし、ESファイラーで /sdcard/Tasker/Tasks/ ディレクトリにコピー。
「Tasker」起動後、taskとしてインポートした。(CalendarMMDD.tsk.xmlを使用)
記事の通り、ユーザーID、Private Addressを挿入し、Taskを改造した。
また、月と日のデータが「09」など頭に「0」がつく場合があるため、「1で割る」操作で1桁の数値に変換する処理を追加。(%Eventdate2に「%Eventdate2/1」をセット。%Eventdate31に「%Evenetdate31/1」をセット)
また、英語圏での事例なので音声出力エンジン(TTS)が英語用の設定になっている。
これを日本語用のエンジン(N2 TTS)に変更し、読み上げ文も日本語に直した。
途中ちょっと編集ミスをしたり手間取ったが、上記の改変で期待通りの動作をするタスクができ上がった。
■その日予定されている次のスケジュールを音声で読み上げ、次のスケジュールがなければ予定がないことを伝える。
上記機能を実現することができた。
但し、上記のタスクそのままでは「マナーモードON」の場合も音声出力しようとする。しかし、当然音声は出ない。
それではしょうがないので、「マナーモードONの場合は、PopUPに同じ内容を表示する」というルーチンを追加した。
これを、「会社でその日一回目の画面ONをしたら、当日のスケジュール表を表示する」というタスクに合体させ、マナーモードOFFならひとつめの予定を読み上げ、マナーONならPopUPで表示し、最後に当日のスケジュール表を表示する」というタスクに仕上げた。
なかなか秘書っぽくなってきた。
これはすべて個人の暴走である。