2013-08-07 2 views
0

Я пытаюсь установить, имеет ли устройство соединение с определенным сайтом. Если это так, то оно должно начинаться с намерения, если оно не должно бросать тост.Установка, если устройство подключено к определенному сайту

Всегда кажется, бросить тост, хотя даже если устройство может увидеть сайт: -

public void GoToStation(View v) 
{ 

    try { 
     InetAddress ina = InetAddress.getByName("http://www.lisbury.co.uk"); 

     ina.isReachable(10000); { 

        Intent myIntent = new Intent(MainActivity.this, CustomizedListViewStation.class); 
        startActivityForResult(myIntent, 0); 

     } 
    } catch (IOException ioe) { 
     Toast.makeText(this, "You need a data connection to view Safety Zones", Toast.LENGTH_LONG).show(); 

    }  

} 

ответ

0
InetAddress ina = InetAddress.getByName("www.lisbury.co.uk"); 

но isReachable действительно не гарантирует, что устройство может подключиться к сайту - isReachable является используя ICMP echo и TCP для порта 7, оба могут быть отфильтрованы, но хост доступен, и наоборот - хост может быть доступен, но веб-сервер не работает

+0

msh - есть ли лучший способ сделать это, тогда ? Я хочу, чтобы цель была запущена, если устройство имеет возможность подключения. Я могу сделать это? –

+0

просто отправьте запрос GET на сервер и проверьте, не сработает ли он. Или еще лучше сохранить трафик, отправляя запрос HEAD. – msh

+0

MSH - извините, но у вас есть пример этого запроса. Вы действительно помогли бы мне, если бы вы могли помочь с моим кодом. –

Смежные вопросы