[英]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.