現在我正在開發一個應用程序。我使用ConnectivManager在android中檢查了互聯網連接。我檢查了移動3G和WIFI.I關閉WIFI連接,並檢查它的工作原理是我想要的。然後我打開WIFI連接,但斷開WIFI中的所有網絡。現在我查了一下,但是它顯示WIFI已連接,但我想檢查當WIFI打開時網絡是否連接到WIFI,或者WIFI打開時是否連接到WIFI。我不知道如何編碼。任何人都可以請幫助所需的代碼?如何檢查網絡是否連接到android
在此先感謝
現在我正在開發一個應用程序。我使用ConnectivManager在android中檢查了互聯網連接。我檢查了移動3G和WIFI.I關閉WIFI連接,並檢查它的工作原理是我想要的。然後我打開WIFI連接,但斷開WIFI中的所有網絡。現在我查了一下,但是它顯示WIFI已連接,但我想檢查當WIFI打開時網絡是否連接到WIFI,或者WIFI打開時是否連接到WIFI。我不知道如何編碼。任何人都可以請幫助所需的代碼?如何檢查網絡是否連接到android
在此先感謝
有了這段代碼,您應該可以使用ConnectivityManager。從那裏你可以檢查它是否連接或甚至可用。
ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mWifi.isConnected()) {
// Do whatever
}
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>
要檢查網絡連接
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。
檢查,如果互聯網是通過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;
}
你的問題有關,似乎已經被回答 - http://stackoverflow.com/questions/3841317/how-to-see-if-wifi -is-connected-in-android – TwoA
這是我從另一篇文章的回答: http://stackoverflow.com/a/8548926/220710 –