Я имею в виду ситуацию, когда устройство подключено к точке доступа, но по какой-то причине заблокировано от доступа к Интернету с использованием этой точки доступа.Как я могу проверить, может ли устройство получать доступ к Интернету через активное соединение WiFi?
ответ
Они похожи на то, что может решить эту проблему:
How to do a true Java ping from Windows?
private boolean connectionAvailable() {
boolean connected = false;
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) {
//we are connected to a network
connected = true;
}
return connected;
}
для проверки WiFi включен или не
WifiManager wfManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if(wfManager.isWifiEnabled())
{
//Code
}
else
{
//Code
}
для подключения проверка Интернет ..
public boolean isOnline()
{
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting())
{
//Try This
int i =netInfo.getType() ;
System.out.println("Net Type ="+i);
return true;
}
return false;
}
Это не совсем то, что мне нужно - состояние CONNECTED для подключения WiFi означает, что устройство подключено к AP, но необязательно может получить доступ к Интернету. – Asahi
да, я знаю. –
см. Мой ответ на редактирование –
Это не совсем то, что мне нужно - состояние CONNECTED для подключения Wi-Fi означает, что устройство подключено к точке доступа, но не обязательно может получить доступ к Интернету – Asahi
Ok, так что вы хотите проверить, что Wi-Fi обращается ко интернет или нет. я понятия не имею об этом. – Dharmendra
спасибо за ваше время! – Asahi