如何检查工作的wifi是否存在?
How to check working wifi is there or not?
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;
}
我用过这个代码。它工作正常,但我的问题是我需要调用服务器。有没有其他方法可以检查 WiFi 的速度或工作情况?
WifiManager wifiManager=(WifiManager)this.getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int speedMbps = wifiInfo.getLinkSpeed();
我使用上面的代码来检查速度,但它也不能正常工作。
请帮帮我。提前致谢
您可以使用以下代码:
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
这会让您知道设备是否已连接。
你可以试试这个
public static boolean checkInternetConnection(Context context)
{
try
{
ConnectivityManager connec = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
android.net.NetworkInfo wifi = connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
android.net.NetworkInfo mobile = connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if ((wifi != null && wifi.isConnected())
|| (mobile != null && mobile.isConnected()))
{
return true;
}
log("Connection", "Connection failed");
return false;
}
catch (Exception e)
{
// TODO: handle exception
e.printStackTrace();
return false;
}
}
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;
}
我用过这个代码。它工作正常,但我的问题是我需要调用服务器。有没有其他方法可以检查 WiFi 的速度或工作情况?
WifiManager wifiManager=(WifiManager)this.getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int speedMbps = wifiInfo.getLinkSpeed();
我使用上面的代码来检查速度,但它也不能正常工作。
请帮帮我。提前致谢
您可以使用以下代码:
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
这会让您知道设备是否已连接。
你可以试试这个
public static boolean checkInternetConnection(Context context)
{
try
{
ConnectivityManager connec = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
android.net.NetworkInfo wifi = connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
android.net.NetworkInfo mobile = connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if ((wifi != null && wifi.isConnected())
|| (mobile != null && mobile.isConnected()))
{
return true;
}
log("Connection", "Connection failed");
return false;
}
catch (Exception e)
{
// TODO: handle exception
e.printStackTrace();
return false;
}
}