public boolean isConnected(Context context) {
connected=false;
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo info = connectivity.getActiveNetworkInfo();
if (info != null && info.getState() == NetworkInfo.State.CONNECTED && info.isConnected()) {
Log.e("link",new Gson().toJson(info.getDetailedState()));
connected=true;
Needle.onBackgroundThread().execute(new Runnable() {
@Override
public void run() {
try {
HttpURLConnection urlc = (HttpURLConnection) (new URL(mainDomain).openConnection());
urlc.setRequestProperty("User-Agent", "Test");
urlc.setRequestProperty("Connection", "close");
urlc.setConnectTimeout(1500);
urlc.connect();
connected=true;
Log.e("connection",new Gson().toJson(urlc.getResponseCode()));
} catch (IOException e) {
e.printStackTrace();
connected=false;
}
}
});
return connected;
}
}
return connected;
}
Ich habe diesen Code verwendet. es funktioniert gut, aber mein Problem ist, dass ich dort Server aufrufen muss. Gibt es eine andere Möglichkeit, die Geschwindigkeit oder das Funktionieren von WiFi zu überprüfen?Wie funktioniert funktionierendes WLAN zu überprüfen oder nicht?
WifiManager wifiManager=(WifiManager)this.getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int speedMbps = wifiInfo.getLinkSpeed();
Ich habe oben genannten Code verwendet, um die Geschwindigkeit zu überprüfen, aber es funktioniert auch nicht gut.
Bitte helfen Sie mir. Vielen Dank im Voraus