无法使用OkHttp3 Retrofit2解析主机

时间:2019-02-25 08:59:02

标签: android retrofit2 okhttp3

当我们处于连接到没有互联网的访问点的状态时,我们得到“无法解析主机” ,然后变回具有互联网的正常wifi。< / p>

我们可以通过重复以下操作将此问题重现为100%:

  • 不通过互联网连接接入点。 (请勿执行任何https请求)
  • 改回可以上网的wifi。
  • 使用okhttp3发送请求。
  • 结果:“无法解析主机”

以这种状态结束时,无法恢复。 我们已经尝试过关闭wifi(请求http),然后将其重新打开(请求http)。一旦遇到此错误,我们还尝试过重新启动服务(改造,OkHttp3客户端),但似乎无济于事。 清除此错误的唯一解决方案是完全重新启动应用程序。只有这样我们才能处理请求。

URL是有效的,因为我们可以在重现错误之前请求它。一旦我们通过重新启动应用程序清除错误,相同的URL也将正常工作。

我还研究了清单,我们具有以下权限

  <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

如何在不重新启动应用程序的情况下清除此错误?

0 个答案:

没有答案