现在我正在开发一个应用程序。我使用 ConnectivManager 检查了 android 中的互联网连接。我检查了 Mobile 3g 和 WIFI。我关闭了 WIFI 连接并检查了它是否可以正常工作。然后我打开了WIFI连接,但断开了WIFI中的所有网络。现在我检查但它显示WIFI已连接但我想检查WIFI打开时网络是否连接到WIFI或WIFI打开时未连接到WIFI。我不知道如何编码。任何人都可以帮助提供所需的代码吗?
提前致谢
现在我正在开发一个应用程序。我使用 ConnectivManager 检查了 android 中的互联网连接。我检查了 Mobile 3g 和 WIFI。我关闭了 WIFI 连接并检查了它是否可以正常工作。然后我打开了WIFI连接,但断开了WIFI中的所有网络。现在我检查但它显示WIFI已连接但我想检查WIFI打开时网络是否连接到WIFI或WIFI打开时未连接到WIFI。我不知道如何编码。任何人都可以帮助提供所需的代码吗?
提前致谢
public boolean isWifiEnabled(){
ConnectivityManager cm = (ConnectivityManager) c.getSystemService(
Context.CONNECTIVITY_SERVICE);
NetworkInfo wifiNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifiNetwork != null && wifiNetwork.isConnected()) {
return true;
}
return false;
}
不要忘记使用以下权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
</uses-permission>
检查互联网是否通过 WiFi 或手机连接
public static boolean hasInternet(Activity a) {
boolean hasConnectedWifi = false;
boolean hasConnectedMobile = false;
ConnectivityManager cm = (ConnectivityManager) a.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] netInfo = cm.getAllNetworkInfo();
for (NetworkInfo ni : netInfo) {
if (ni.getTypeName().equalsIgnoreCase("wifi"))
if (ni.isConnected())
hasConnectedWifi = true;
if (ni.getTypeName().equalsIgnoreCase("mobile"))
if (ni.isConnected())
hasConnectedMobile = true;
}
return hasConnectedWifi || hasConnectedMobile;
}
检查网络连接
public class CheckNetwork {
private static final String TAG = CheckNetwork.class.getSimpleName();
public static boolean isInternetAvailable(Context context)
{
NetworkInfo info = (NetworkInfo) ((ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();
if (info == null)
{
Log.d(TAG,"no internet connection");
return false;
}
else
{
if(info.isConnected())
{
Log.d(TAG," internet connection available...");
return true;
}
else
{
Log.d(TAG," internet connection");
return true;
}
}
}
}
在你的活动中
if(Checknetwork.isInternetAvailable(MainActivity.this)
{
// do something
}
记得在清单文件中添加权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
这还会检查您是否连接到移动网络或 wifi。
通过这段代码,您应该能够使用 ConnectivityManager。从那里您可以检查它是否已连接甚至可用。
ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mWifi.isConnected()) {
// Do whatever
}