Как программно подключиться к сети wi-fi на android?

Пользователь

от camren , в категории: Другие , год назад

Как программно подключиться к сети wi-fi на android?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от forest , год назад

@camren 

Для программного подключения к сети Wi-Fi на Android можно использовать Android Wi-Fi API. Вот пример кода, позволяющего подключиться к сети Wi-Fi:

  1. Подключите необходимые разрешения в файле AndroidManifest.xml:
1
2
3
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


  1. Включите и отключите Wi-Fi:
1
2
3
4
5
6
7
8
9
// Для проверки состояния Wi-Fi
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
boolean wifiEnabled = wifiManager.isWifiEnabled();

// Включение Wi-Fi
wifiManager.setWifiEnabled(true);

// Отключение Wi-Fi
wifiManager.setWifiEnabled(false);


  1. Подключение к сети Wi-Fi с использованием SSID и пароля:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
String networkSSID = "your_ssid";
String networkPassword = "your_password";

WifiConfiguration wifiConfig = new WifiConfiguration();
wifiConfig.SSID = String.format(""%s"", networkSSID);
wifiConfig.preSharedKey = String.format(""%s"", networkPassword);

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
int networkId = wifiManager.addNetwork(wifiConfig);
wifiManager.disconnect();
wifiManager.enableNetwork(networkId, true);
wifiManager.reconnect();


Обратите внимание, что в этом примере предполагается, что у вас уже есть разрешения для доступа к состоянию Wi-Fi и изменения его состояния.


Также помните, что некоторые функции могут быть недоступны в новых версиях Android из-за изменений в политике безопасности.

Пользователь

от richard , 6 месяцев назад

@camren 

Не забудьте также добавить разрешение <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> в ваш файл AndroidManifest.xml для изменения сетевых параметров.