Как включить или отключить сетевое подключение в WIFI и 3G (план данных) на мобильных устройствах?
Я разрабатываю приложение для Android. В моем приложении я хочу проверить сетевое подключение, например, я хочу проверить сетевое соединение в Wi-Fi и 3G (например, индейцы, в основном, как план данных на мобильных устройствах), как проверить сеть в Wi-Fi и 3G.nbodybody знает, пожалуйста, дайте некоторое представление об этом.
Спасибо
Ответы
Ответ 1
Вот фрагмент кода. Он возвращает true, если включена сеть, иначе false
private boolean netCheckin() {
try {
ConnectivityManager nInfo = (ConnectivityManager) getSystemService(
Context.CONNECTIVITY_SERVICE);
nInfo.getActiveNetworkInfo().isConnectedOrConnecting();
Log.d(tag, "Net avail:"
+ nInfo.getActiveNetworkInfo().isConnectedOrConnecting());
ConnectivityManager cm = (ConnectivityManager) getSystemService(
Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
Log.d(tag, "Network available:true");
return true;
} else {
Log.d(tag, "Network available:false");
return false;
}
} catch (Exception e) {
return false;
}
}
Ответ 2
Пожалуйста, попробуйте
public static boolean isInternetConnected (Context ctx) {
ConnectivityManager connectivityMgr = (ConnectivityManager) ctx
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifi = connectivityMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mobile = connectivityMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
// Check if wifi or mobile network is available or not. If any of them is
// available or connected then it will return true, otherwise false;
if (wifi != null) {
if (wifi.isConnected()) {
return true;
}
}
if (mobile != null) {
if (mobile.isConnected()) {
return true;
}
}
return false;
}
Пожалуйста, добавьте ниже разрешение в файл манифеста android.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Ответ 3
вы можете использовать нижеприведенный код, который работает для всех версий API:
ConnectivityManager cm =
(ConnectivityManager)mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
boolean isConnected = activeNetwork != null &&
activeNetwork.isConnectedOrConnecting();
if(isConnected)
{
if(activeNetwork.getType()==ConnectivityManager.TYPE_MOBILE)
return true;
else
return false;
}
else
return false;
Ответ 4
Я использую это внутри класса Activity
private boolean isConnectedToInternet() {
ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
return (networkInfo != null);
}