android — Android: Как включить /отключить Wi-Fi или интернет-соединение программно" />

Android: Как включить /отключить Wi-Fi или интернет-соединение программно

Используя класс Connectivity Manager, мы можем получить доступ к Wi-Fi или Интернет-сети:

ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);

// ARE WE CONNECTED TO THE NET
if ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED ||
  connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED ) {
  // ...
}

где 0 и 1 соответственно относится к мобильной и Wi-Fi связи

Если мое устройство Android подключено к обоим, можем ли мы переключаться между любой сетью или отключить какую-либо сеть? Как с помощью функции:

connec.getNetworkInfo(0).setState(NetworkInfo.State.DISCONNECTED);
71 голос | спросил Javanator 14 +04002010-10-14T11:28:48+04:00312010bEurope/MoscowThu, 14 Oct 2010 11:28:48 +0400 2010, 11:28:48

6 ответов


0

Я знаю о включении или отключении Wi-Fi:

WifiManager wifiManager = (WifiManager)this.context.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(status);

где статус может быть true или false согласно требованию.

Edit:

Вам также необходимы следующие разрешения в файле манифеста:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>

ответил viv 14 +04002010-10-14T11:45:34+04:00312010bEurope/MoscowThu, 14 Oct 2010 11:45:34 +0400 2010, 11:45:34
0

Чтобы включить WiFi:

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled(true);

Чтобы отключить WiFi:

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled(false);

Примечание: Чтобы получить доступ к состоянию WiFi, нам нужно добавить следующие разрешения в файл AndroidManifest.xml:

android.permission.ACCESS_WIFI_STATE
android.permission.UPDATE_DEVICE_STATS 
android.permission.CHANGE_WIFI_STATE
ответил Valeh Ağayev 10 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 10 Sep 2012 09:07:47 +0400 2012, 09:07:47
0

Полное решение:

try {
    WifiManager wifi = (WifiManager) 
        context.getSystemService(Context.WIFI_SERVICE);

    WifiConfiguration wc = new WifiConfiguration();
    wc.SSID = "\"SSIDName\"";
    wc.preSharedKey  = "\"password\"";
    wc.hiddenSSID = true;
    wc.status = WifiConfiguration.Status.ENABLED; 

    wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
    wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
    wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);

    wc.allowedPairwiseCiphers
        .set(WifiConfiguration.PairwiseCipher.TKIP);
    wc.allowedPairwiseCiphers
        .set(WifiConfiguration.PairwiseCipher.CCMP);
    wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);

    boolean b=wifi.isWifiEnabled();
    if (b) {
        wifi.setWifiEnabled(false);
        Toast.makeText(context, "yes", Toast.LENGTH_SHORT).show();
    } else {
        wifi.setWifiEnabled(true);
        Toast.makeText(context, "no", Toast.LENGTH_SHORT).show();
    }
    //Log.d("WifiPreference", "enableNetwork returned " + b );

} catch (Exception e) {
    e.printStackTrace();
}

Ссылка: http://amitkumar-android.blogspot.com/p /installation-steps.html

ответил Amit kumar 5 Jpm1000000pmWed, 05 Jan 2011 22:57:53 +030011 2011, 22:57:53
0

Чтобы включить отключение Wi-Fi, используйте класс WifiManager, чтобы получить системные службы (устройства Android) для Wi-Fi:

WifiManager wifi =(WifiManager)getSystemService(Context.WIFI_SERVICE); 

Теперь объект wifi из WifiManager класс используется для получения статуса Wi-Fi:

if(wifi.isWifiEnabled())
    //Perform Operation
else
    //Other Operation

И самое главное, не забудьте дать следующее разрешение в файле манифеста Android:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

Чтобы получить подробную информацию и полный пример кода проекта для включения /отключения Wi-Fi на Android, посетите ссылка на мой сайт .

ответил Hemant Mendi Ratta 15 J0000006Europe/Moscow 2012, 01:04:25
0

добавьте это разрешение в манифест, а затем используйте указанный выше код для изменения состояния WiFi:

 <!--permission ge enable and disable WIFI in android-->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
ответил varun bhardwaj 18 Mayam12 2012, 11:29:25
0

Мне не удалось получить доступ к объекту контекста напрямую.
Мое решение заключается в следующем:

Context appContext = Android.App.Application.Context;
var wifiManager = (WifiManager)appContext.GetSystemService(WifiService);
wifiManager.SetWifiEnabled(state);

Также мне пришлось изменить некоторые записи, например. WIFI_SERVICE против WifiService.

ответил Franklin84 17 Maypm18 2018, 15:30:53

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132