Я проверяю состояние сети устройства. с помощью: -Проверьте, есть ли сайт
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
Я хочу взять это на немного дальше и проверить, если устройство может получить доступ к Интернету или данный сайт такой как http://www.google.com и если он может затем вернуться истинным, и если он может» затем верните значение false.
Проблема с моим кодом заключается в том, что он вернет true, если устройство подключено к маршрутизатору, а маршрутизатор отключен. Мне нужна фактическая проверка подключения к Интернету.
Измененный код
public void GoToStation(View v)
{
try {
InetAddress ina = InetAddress.getByName("http://188.65.176.98/");
if(ina.isReachable(3000)) {
Intent myIntent = new Intent(MainActivity.this, CustomizedListViewStation.class);
startActivityForResult(myIntent, 0);
} else {
Toast.makeText(this, "You need a data connection to view Safety Zones", Toast.LENGTH_LONG).show();
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
В какой системе вы проверяете это. –
Предлагаю вам прочитать эту тему. Может быть, что вы ищете: http://stackoverflow.com/questions/3905358/how-to-ping-external-ip-from-java-android – Aleks
Приносим извинения, что это приложение для Android. –