Android自動化アプリ「Tasker」を使いこなす。カレンダー取り込みタスクが、一歩前進。完 | 「藍染 迅(超時空伝説研究所改め)」の部屋

「藍染 迅(超時空伝説研究所改め)」の部屋

小説家ワナビーの「藍染 迅(あいぞめ じん)」です。

書籍化・商業化を目指し、各種コンテストに挑戦しながら、カクヨム、小説家になろう、エブリスタ、アルファポリスなどに作品を投稿しています。

代表作は異世界ファンタジー「「飯屋のせがれ、魔術師になる。」。

タスクを自動実行させるトリガーが課題だったが、なんとかクリアした。

■「Dropsync」が同期しているフォルダーを監視して、同期の記録を書き込むファイル「.dropsync」をチェックして、このファイルがクローズされたときにタスクを実行するプロフィールを作成した。

もう一度、処理の流れを整理してみよう。

①Notesからエクスポートしたカレンダー・データ(Structurec Text形式)をメールに添付し、Gmailアドレス宛にタイトル「#calendar」として送付する。

②Gmailでは、「特定送信者から届いた新着メールのタイトルが『#calendar』だったら、#calendarというラベルを付ける」というフィルターを設定しておく。

③IFTTTで、「Gmailの新着メールに『#calendar』というラベルが付けられたら、添付ファイルをdropboxに保存する」というレシピを登録しておく。

④Dropsyncで、「Dropbox上の特定フォルダ」とAndroidのSD上の特定フォルダを同期する設定をしておく。

⑤上記により、SDカード上にカレンダー・データがダウンロードされる。

⑥このとき、SDカード上の「.dropsync」という同期動作記録ファイルが更新されるので、それをTaskerで監視しておく。具体的には、同ファイルがクローズされたら、予定取り込みタスクを実行する。

⑦取り込み終えたら、SDカード上のカレンダー・データを削除する。

⑧Dropsyncの設定により、ローカルファイルが変更されたら即座にdropboxフォルダと同期が取られる。

これで、①の処理さえ手動で行えば、残りは自動で実行される。
自動ってすばらしい。なんたって、自動だから。

少しだけ気に入らないのは、Dropsyncは定期的にDropboxをモニターしにいくのだが、その都度「.dropsync」ファイルが更新されるので、取り込みタスクも実行されてしまう。
すると、予定ファイルが登録されていないときはTaskerがエラー終了してしまう。

実害はないのだが、エラー・メッセージが出るのは気持ちが悪い。どうにかしてエラー発生を回避したいのだが、いまのところ方法を思いつけない。
よって、とりあえず放置する。

もうひとつ、Dropsyncの巡回タイミングに処理のタイミングが依存するので、自動とはいえしばらく待たねばならない。頻繁に巡回させる設定ではメモリーを多く消費しそうなイメージがあるが、どうであろうか?
いまのところ、妥協案で?30分間隔にセッティングしてある。

そもそもIFTTTのレシピ起動もタイム・ラグがあるので、瞬時に動作という訳にはいかない。
確認してみると、IFTTTのレシピは通常15分に一回実行条件をチェックするらしい。ならばDropsyncの巡回間隔も15分にするのがベストかもしれない。

これはすべて個人の暴走である。