ただのにっき
2010-05-06(木) [長年日記]
■ Android + Gmailで、指定したメールだけ通知させる
Desire搭載のGmailアプリはそこそこの速報性があって、MMSが使えない環境でもおおむね不自由しない感じになっている。ただ、inboxに入ったメールが全部通知されてしまうので、たくさんのメーリングリストに入っていたりするとうるさくてしょうがない。メーリングリストだけあらかじめフィルタしてinboxから除いておけばいいんだが、それってGmailの使い方として間違ってる! と思うので、逆に通知して欲しいメールだけを選択的に通知してもらう方法を模索している。現時点ではこんな感じ。たぶんもっとスマートで省電力な方法があると思う。
速報して欲しいメールは主にケータイからのメール。iPhoneの時はケータイからのメールだけMMSに転送していたんだが、これだと未読が二重管理になってウザかった。やはりGmailの中で完結させないと。
ということで、原則としてGmailアプリには通知をさせない(着信音を「サイレント」にしてバイブを切ると通知領域にアイコンだけ出るようになる。もちろんアイコン表示も抑制可能)。代わりに特定のラベルを付けたメールだけ通してもらうために、IMAPクライアントであるK-9を導入。K-9はIMAP IDLE機能を使ってメールを監視してくれるので速報性が期待できる*1。
あらかじめ通知して欲しいメールをGmailのフィルタで絞り込んでおき、特定のラベルを付ける。ここでは仮に「notify」。
K-9にGmailのアカウントを作成し(~@gmail.comのアドレスを入力するとあとはよきに計らってくれる)、Account Settingで「Folders to check with push」を「Only 1st Class folders」に、「New mail notifications」をON、「New mail ringotone」を好きな音色に。必要に応じて「Vibrate」もONに。
ついでFolder listを更新すると「notify」が出てくるはずなのでそれを開き、「Folder setting」にて「Folder push class」を「1st Class」に設定。これで、先の設定とnotifyフォルダ(ラベル)が結びついて、push通知(IMAP IDLE)の対象になる。はず。なにしろいろいろ試行錯誤したので、これが最小のセッティングかどうか自信がない(笑)。
これでケータイからのメールはinboxに残ったままでnotifyラベルが付き、K-9からはnotifyフォルダに入った未読の新しいメールとして認識される、という寸法。K-9で読んでもGmailで読んでも既読になるので、二重管理にならない。
*1 なんですべてをK-9で完結させないのかというと、受信メールをすべてinboxに入れておいて、処理済みメールをarchiveするというGmail的運用に向いていないため。フォルダへの手動振り分けがとにかく面倒なUIなのである。