AndroidでjavamailのIdleManagerが機能していません。Android Socket.getchannel()メソッドは常にjavamailにnullを返します
idlemanagerでフォルダを監視しようとすると、javamailでエラーメッセージが表示されるフォルダがSocketChannelsを使用していません。 Android SocketChannelは常にSocket内でnullを返します。
深く掘り下げた後、SSLSocketFactoryからSocketを作成すると、SocketChannelがnullになっていることがわかりました。
この問題の回避策はありますか?
はここ
javax.mail.MessagingException: Folder is not using SocketChannels
at com.sun.mail.imap.IdleManager.watch(IdleManager.java:203)
at com.sample,mail.ImapIdle$1.doInBackground(ImapPushNotification.java:120)
at android.os.AsyncTask$2.call(AsyncTask.java:292)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
私はこれを依然として問題と見なしています。スタックトレースがないのはなぜですか? 「Androidは常に「Socket」の意味でnullを返すのは何ですか? – EJP
@EJP迅速な対応に感謝します。 Stacktraceは質問 – Mymac
に追加しました。これは2つの問題のうちの1つですが、今や3つ目の問題があります。なぜなら 'SSLSocketFactory'から 'Socket'を作成すると、' SocketChannel'ヌルを意味していますか? – EJP