我在我的应用程序中使用 Volley 进行网络通话,除了一种状态,我的设备以某种方式没有获得网络连接但通过代码检查连接使用下面的代码返回 true 时,一切工作正常且顺利。
public static boolean isNetworkAvailable() {
ConnectivityManager connectivityManager = SessionApplication.getConnectivityManager();
if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED ||
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) {
//we are connected to a network
return true;
}
else
return false;
}
而不是使用上面的代码返回网络状态 false 我的 volley web 调用返回了这个异常“handle com.android.volley.NoConnectionError: java.net.UnknownHostException”。
我通过在我的设备中打开浏览器检查了我的互联网连接,发现它也无法正常工作。所以我对应用程序行为没问题,但我仍然需要处理这种情况,因为这不是用户友好的用户,应该提示一个对话框“检查您的 Internet 连接!”。
这应该是 Android 中的一个常见问题,任何人都可以帮助我给我最好的方法来处理这种情况。提前致谢。