2

ユーザーのGmailアカウントからできるだけ早く新しいメールを受信する必要があります。

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

1)サーバーを定期的に(場合によっては遅滞なく継続的に)ポーリングし、新しいメッセージを確認します。(理想的な解決策ではありません)2)IMAPIDLEを使用します。(Gmailでサポートされています)。このソリューションは、有望で最も効率的に見えます。そして、私はそのように行ってみました。IDLEをサポートするlibが見つかりました。S22.IMAPメールライブラリです。しかし、問題は、私がそれに何らかの問題を見つけたということです(またはそれはIDLE関連の問題ですか)。一度に複数のメッセージが到着した場合、毎回OnNewMessageが呼び出されません。4〜6通のメッセージが届いた場合にのみ2〜3通のメッセージが届きます。

IDLE関連の問題ですか?また、IDLEでEXISTを取得するたびに、新しいメッセージをフェッチする必要がありますか?それともlibの問題ですか?

4

1 に答える 1

1

私はそれを間違った方法で使用しました。IMAPIDLEが最善の方法です。新しいメッセージイベントでアイドリングを停止するのを忘れています。停止し、新しいメッセージをチェックしてから、アプリをさらにアイドル状態にする必要があります。

于 2012-11-26T15:25:07.253 に答える