0

我在 android 设备上运行 javamail。我正在使用这个问题的答案中建议的 jar 文件:

在不使用默认/内置应用程序的情况下使用 JavaMail API 在 Android 中发送电子邮件

当我导致android设备的连接丢失(打开\关闭wifi,设置飞行模式)时,每个调用的访问javamail套接字的函数都没有返回。卡住函数的示例(我尝试在 FOLDER 对象和 STORE 对象上调用函数:

关()

强制关闭()

获取类型()

没有抛出异常(试图在范围内抛出异常 - 它被捕获) logcat 上没有显示错误日志

重要的是要提到“removeMessageCounterLister”函数工作正常并且线程在调用后没有卡住

如果重要的话,我有jdk7。

非常感谢你的回答


更新:这个问题与超时连接没有任何关系。我设置了超时和连接超时参数,它们只影响 idle() 函数。

当线程卡住时,javamail 日志正在写入的消息是“DONE”

4

1 回答 1

1

您可能需要配置一些超时,包括连接超时和 I/O 超时。有关可以设置的属性列表,请参阅协议包的 javadocs,例如com.sun.mail.imap 包

于 2012-10-17T20:19:05.633 回答