Возможно, вы можете отправить запрос на известный сайт, чтобы проверить, достаточно ли интернет-соединение, чтобы вернуться с ответом в заданное время.
public boolean checkInternet(){
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnected())
try {
URL url = new URL("http://www.google.com");
HttpURLConnection urlc = (HttpURLConnection) url
.openConnection();
urlc.setConnectTimeout(3000);
urlc.connect();
if (urlc.getResponseCode() == 200) {
// Means response is available within 3 seconds
// So, return true or do something else.
return true;
}
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
я думаю, что существующий вопрос может частично ответить на вашу проблему http://stackoverflow.com/questions/1560788/how-to-check-internet-access-on-android-inetaddress-never-times-out – Bhavesh
что вы подразумеваете под надежностью ??? я предполагаю, что вы можете регулярно проверять интернет-соединение, используя базовое соединение сокета. – Bhavesh
Спасибо sir , но, как я уже сказал, сначала проверяю подключение к интернету, но затем мне нужно проверить надежность подключения к Интернету. Как: соединение надежное или нет. – Martin