簡體   English   中英

如何使用JavaMail在Android中獲取新郵件通知?

[英]How to get the new mail notification in Android using JavaMail?

我正在嘗試使用JavaMail (在Android應用中)獲得新的郵件通知。 我正在使用IdleManager來做這項工作,它給出了一個異常:

文件夾未使用SocketChannels

您閱讀過IdleManager javadocs嗎?

由於Java SE nio支持的限制,必須使用SocketChannel而不是Socket來連接到服務器。 但是,SocketChannel不支持Socket的所有功能,例如通過SOCKS代理服務器進行連接。 SocketChannel也不支持同時讀寫,這意味着如果使用SocketChannel,則不能使用idle方法。 請改用此IdleManager。 要啟用對SocketChannel而不是Sockets的支持,請在用於訪問IMAP文件夾的Session中設置mail.imap.usesocketchannels屬性。 (或者mail.imaps.usesocketchannels如果您正在使用的“IMAPS”協議)。這將影響該會話的所有連接,但你可以沒有這個屬性集創建另一個會話如果需要使用與SocketChannels不兼容的功能。

即使在使用mail.imaps.usesocketchannels時,即使在確實導致JavaMail使用SocketChannel.open() ,我也存在相同的問題,IdleManager然后通過調用Socket.getChannel()測試正確使用,該方法被硬編碼為返回null。

public SocketChannel getChannel() {
    return null;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM