我正在尝试在Android平台上开发一个cordova( 3.5.0 )项目,并且我必须在每次API调用之前检查网络连接可用性。为此我使用' navigator.connection.type ',有时它返回0.为什么会发生这种情况? PLZ帮助我解决这个问题
答案 0 :(得分:2)
如果没有更多细节我只能猜测..有些条件可能导致这种情况。
navigator.connection.type = 0
- >连接类型未知。
所以你可能有联系,你可能还没有确定它还没有确定,或者因为设备没有说出特权。
你是否过早地打电话给这张支票?即在设备准备之前
在我们的应用中,我们不会每次都检查连接,但我们会这样处理:
无论如何,通过发出API请求,知道它可能失败,我们设置了超时和错误处理。如果它因错误或超时而失败,我们检查连接类型,然后用一个简单的" hello"来ping服务器。 "确认"请求。它是一个非常小的请求,我们认为它可以工作,或者如果它再次超时,连接必须很差,它可能会断开连接。这是因为您需要检查两种类型的连接。很多人都想念这个!
而且因为它的导航器完全有点搁置......:/
仅仅因为wifi打开并连接并且导航器告诉你这一点,它并不意味着你将与外界建立联系。您需要检查网络硬件(所有导航器都会告诉您),但如果您对此敏感,还必须检查网络连接。