Androidでメール着信をリアルタイムで検知する方法があったが、その設定が意外と楽だったのでやってみた。2つの方法を紹介するが、どちらも、Gmailを使っている場合に限る。
1.Exchange経由の方法
もしかしたら、この方法はHTC製のAndroidのみの機能かもしれない。(MSとHTCとの訴訟で、Exchangeの特許を侵害している!というのがあった)
Microsoft Exchangeという、社内で住所録、メール、会議予約などを同期してくれる便利なものがある。Google Syncを使うと、GmailやGoogleカレンダーをMicrosoft Exchangeと互換することができるようだ。
Microsoft Exchange互換の準備
よくわかっていないが、Gmailでは、Google Syncを使うための設定は不要な様子。
なお、Google Appsの場合はGoogle Syncを使うための設定が必要だった。Google Appsのダッシュボードを開き、「サービスの設定」から「モバイル」を開く。そこから、「Google Syncを有用にする」にチェックを入れて、「変更を保存」する。
Android側の設定
Androidの「設定」から「アカウントと同期」を選択する。そこで、「アカウントを追加」から、「Exchange ActiveSync」を選択する。そして、以下の設定を行う。
- 電子メールアドレス:hoge@gmail.com(Google Appsの場合はドメインが変わる)
- サーバーアドレス:m.google.com
- ユーザ名:hoge@gmail.com(Google Appsの場合もメールアドレスと同じ)
- パスワード:hogehoge
- ドメイン:(空欄)
これで、更新頻度を「新着アイテム受信時(プッシュ)」に変更する。これで、同期が可能になる。標準のメールアプリを開くと、「アカウント一覧」に、Exchange ActiveSyncが追加されている。
利点と欠点
- 利点
- HTC標準のメールアプリが使える
- 欠点
- HTCのAndroidでしか使えない?
- HTC標準のメールアプリしか使えない?
- 送信済メールが確認できない?(どこにあるんだろ…)
この、送信済メールが確認できないことから(できそうな気がするんだが…)、2の方法を使っている。
2.IMAP IDLEを使った方法
IMAP IDLEという、接続を維持したままメールがきたらお知らせしてくれる仕組みがある。Gmailはこれに対応している。そして、AndroidでもK-9 MailというアプリがこのIMAP IDLEに対応しているので、利用する。
GMAIL側の準備
GMAIL側の準備としては、IMAPを有効にしなければならない。「設定」から「メール転送とPOP/IMAP」を選択し、「IMAPアクセス」から「IMAPを有効にする」にチェックを入れ、「変更を保存」する。
Android側の設定
K-9 Mailをダウンロードする。最近、マーケットからダウンロードしても、日本語対応しているようになった、素敵!
で、以下のように設定する。
- 受信メールサーバ設定
- 送信メールサーバ設定
これでプッシュで受信できるようになる。
利点と欠点
- 利点
- 普通に使える(送信メールが見れないなんてことはない)
- Android1.6以上なら使える
- 欠点
- メールサービス、メールアプリの両方とも、IMAP IDLE対応でなければならない
- よって、標準メールアプリが使えない
...
今のところ、1.でやろうとしていたのだが、送信メールを見られない(見る方法がちんぷんかんぷん)であることに気づいてから、2.の方法に切り替えた。
常に接続を維持していることから、電池の消費量はたしかに大きくなったが、大きすぎるほどではないと言う結論。しばらくこの運用を続けてみるつもり。