Управляем доступом к Wi-Fi адаптеру на устройстве
Главная » Управляем доступом к Wi-Fi адаптеру на устройстве

В этот раз мы научимся простой но нужной вещи - включать и выключать на Android устройстве Wi-Fi соединение. Процесс взаимодействия с Wi-Fi довольно простой, но тем не менее, в нем надо разобраться. Программа будет состоять из переключателя Toggle Button, нажатие по которому будет включать и выключать Wi-Fi соединение. 

Для начала, создадим новый проект, выбираем Blank Activity. Первым делом нужно открыть файл AndroidManifest.xml и добавить разрешения на получение текущего статуса Wi-Fi и возможности смены статуса:

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

Теперь сделаем интерфейс нашему приложению. Для этого откроем файл activity_main.xml и добавим туда картинку (для красоты) и переключатель Toggle Button:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical"
 android:padding="5dp">
 <ImageView
 android:id="@+id/imageView1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_centerInParent="true"
 android:src="@drawable/wifi"
 android:layout_gravity="center"/>

 <ToggleButton
 android:id="@+id/wifi_switcher"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentBottom="true"
 android:layout_marginBottom="10dp"
 android:checked="false"
 android:text="Wi-Fi Settings"
 android:textOff="Выкл"
 android:textOn="Вкл"
 android:layout_gravity="center"/>
</LinearLayout>

Я использовал эту картинку:

Картинка для вай фай

Ну а вы можете взять любую другую.

Теперь переходим к работе с кодом в  MainActivity.java. Здесь мы объявим и инициализируем Toggle Button, установим для него слушателя изменения состояний OnCheckedChangeListener, ну и основное, опишем метод включения и выключения Wi-Fi соединения в зависимости от того, какое значение принимает переключатель Toggle Button: если он находиться в состоянии isChecked, то есть включенном, соответственно этому состоянию включаем на устройстве Wi-Fi, в противном случае - выключаем. 

Доступ к управлению Wi-Fi соединением происходит через WifiManager, мы создаем экземпляр такого менеджера и с его помощью включаем или выключаем Wi-Fi, в команде setWifiEnabled () выставляя значение true для включения Wi-Fi, и false - для выключения. Код файла MainActivity.java будет следующим:

import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.widget.CompoundButton;
import android.widget.Toast;
import android.app.Activity;
import android.content.Context;
import android.widget.ToggleButton;

public class MainActivity extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 //Инициализируем элемент Toggle Button:
 ToggleButton toggle = (ToggleButton) findViewById(R.id.wifi_switcher);

 //Настраиваем слушателя изменения состояния переключателя:
 toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

 //Если Wi-FI включен - Toast сообщение об этом:
 if (isChecked) {
 toggleWiFi(true);
 Toast.makeText(getApplicationContext(), "Wi-Fi Включен!", Toast.LENGTH_SHORT).show();
 }
 //Если Wi-FI выключен - Toast сообщение об этом:
 else {
 toggleWiFi(false);
 Toast.makeText(getApplicationContext(), "Wi-Fi Выключен!", Toast.LENGTH_SHORT).show();
 }
 }
 });
 }

 //Описываем сам метод включения Wi-Fi:
 public void toggleWiFi(boolean status) {
 WifiManager wifiManager = (WifiManager) this .getSystemService(Context.WIFI_SERVICE);

 //Статус true соответствует включенному состоянию Wi-Fi, мы включаем
 //его с помощью команды wifiManager.setWifiEnabled(true):
 if (status == true && !wifiManager.isWifiEnabled()) {
 wifiManager.setWifiEnabled(true);
 }
 //А статус false соответствует выключенному состоянию Wi-Fi мы выключаем
 // его с помощью команды wifiManager.setWifiEnabled(false):
 else if (status == false && wifiManager.isWifiEnabled()) {
 wifiManager.setWifiEnabled(false);
 }
 }
}

Попробуем теперь наше приложение на работоспособность. Запускаем и смотрим на результат:

включенный вай фай

Категория: Уроки программирования | Просмотров: 1366 | Добавил: Oleg | Теги: включить выключить Wi-Fi, Wi-Fi адаптер, Wi-Fi Android, Android программирование | Рейтинг: 0.0/0
Всего комментариев: 0
avatar