【发布时间】:2018-06-10 07:42:11
【问题描述】:
我正在尝试让我的应用检查它是否能够连接到互联网。
我的研究告诉我,网络级连接并不一定意味着您可以访问远程站点/服务。例如:
Detect if Android device has Internet connection
我已经尝试了该问答中的解决方案,并且它们“有点”工作。我的问题是urlc.setConnectTimeout(50000)(即 50 秒超时)似乎没有任何效果。相反,我的应用程序几乎立即报告错误。
我希望我的应用程序在报告失败之前继续尝试连接一段时间。
【问题讨论】:
-
你可以让你的请求执行一定次数的重试,如果它失败了,有特定的例外,那是你要找的吗?
-
@elmorabea..它可能有效,但不应该 (setConnectTimeout(50000)) 在指定时间内继续尝试?
-
不,连接超时,将允许建立连接的时间(50秒),如果到那时无法建立连接,则会抛出超时异常,但是timeout API 不承诺任何重试,你需要这样做
-
@elmorabea 让我确保我明白这一点.. 设备尝试在(50 秒)内连接,但不一定在整个(秒)内连接,除非建立连接,否则它会抛出错误..对吗?但是如果已经建立了连接,在(50 秒)之后它会被终止吗?
-
@OmarLabib - 我对您问题的编辑是否正确?如果没有,请随时回滚。
标签: java android connection android-internet