2011-07-27 20 views
2

私は、Android(着信音、交換、IMAPなど)に関係なく、着信電子メールをAndroidでプログラムで傍受する方法を探しています。私の主な関心事は、メールの本文ではなくメールのヘッダーを調べることです。 GMailの場合、次のコードのみを使用してください。androidの着信メール通知

ContentResolver cr = getContentResolver(); 
Cursor unread = cr.query(Uri.parse("content://gmail-ls/conversations/[email protected]"), null, "label:^u", null, null); 
unread.moveToFirst(); 
int subjectIdx = unread.getColumnIndex("subject"); 

do { 
    String subject = unread.getString(subjectIdx); 
} while (unread.moveToNext()); 

...もありますthis answerがあります。このようなものは、Gmail以外のアカウントでも利用できますか?私は理論的には、ユーザにユーザ名とパスワードを要求し、imapを介して接続することができますが、私はビジネス面からはできません。

Java SDK、NDK、文書化されていないAPIなど、必要な解決策はすべて歓迎します。 GoogleはGmailのREST APIのためにプッシュ通知をリリースしました

+1

問題は、ユーザーがデフォルトのメールクライアントを使用する保証がないことです。私はK9メールを使用していますが、これは独自のデータベースを使用しており、ストックメールクライアントとは完全に別ですので、あなたが見ているアプローチでは私のケースではK9で取得されたすべてのメールが欠落します。 –

+0

@マーク - 私は知っているが、デフォルトのものから始める –

+0

@マーク - また、K9でこれを行う方法を知っている –

答えて

0

自分の質問に答えます。私はそれを使用していないが、ドキュメントはhere

旧答え

でこれを行うには、2つのオプションがあります。

  • GMail Inbox Feedを使用してください - それはあなたがアクセスを得ることができAtomフィードですOAuthを使用する受信トレイに未読アイテムしか表示されないため、非常に制限されています。
  • GMail IMAP extensionsを使用し、IMAPとOAuthを使用して接続します。ここで、ユーザーのメールボックス全体にアクセスできます。

これらの方法のどちらも、プッシュベースではなくプルベースであるという制限があります。私はIMAPプッシュがうまくいかないと思っています(私はそれを試していませんが)、とにかく私はモバイルデバイスでそれを信じません。

関連する問題