首页 文章

检测android上的网络连接不良

提问于
浏览
1

我正在构建一个Android应用程序,通过http api调用与我们的服务器交换数据 . 在许多情况下,用户抱怨应用程序运行缓慢或根本不运行 .

最常见的原因是网络连接不良(低3g / wifi信号或拥挤的公共wifi) .

检测错误连接的最佳方法是什么?一旦我能够检测到错误的连接,就可以使用图标或Toast消息来通知用户该情况 .

我正在使用HttpUrlConnection进行api调用 .

3 回答

  • 1

    我可能会使用延迟 . 在您收到请求时以及请求完成时节省时间 . 如果您看到的数字太高,请弹出警告 . 如果您正在下载大文件,您可能希望切换到吞吐量(您要传输多少kbps) .

  • 1

    我想你可以利用ConnectivityManager . 调用getActiveNetworkInfo(),然后在收到的NetworkInfo对象上调用getDetailedState() . 您可以检查连接的状态以及是否为VERIFYING_POOR_LINK,但我不知道此状态处于活动状态 .

    您也可能希望收听Detect Connection Changes中所述的网络更改 .

  • 7

    据我记得http是“无连接”..

    你应该尝试集中精力减少你的交通规模..(压缩,划分...等)

    如果你真的想测试连接我认为你应该做ping ...每x秒..然后如果ping不好你可以警告用户..

相关问题