Android net wifi wificonfiguration

Wifi Configuration Class

Definition

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

This class is obsoleted in this android platform

A class representing a configured Wi-Fi network, including the security configuration.

Remarks

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Constructors

A constructor used when creating managed representations of JNI objects; called by the runtime.

Fields

Properties

The set of authentication protocols supported by this configuration.

The set of group ciphers supported by this configuration.

The set of key management protocols supported by this configuration.

The set of pairwise ciphers for WPA supported by this configuration.

The set of security protocols supported by this configuration.

When set, this network configuration entry should only be used when associating with the AP having the specified BSSID.

Returns the runtime class of this Object .

(Inherited from Object) EnterpriseConfig

The enterprise configuration details specifying the EAP method, certificates and other settings associated with the EAP.

Fully qualified domain name of a passpoint configuration

The handle to the underlying Android instance.

(Inherited from Object) HiddenSSID

This is a network that does not broadcast its SSID, so an SSID-specific probe request must be used for scans.

The ID number that the supplicant uses to identify this network configuration entry.

Pre-shared key for use with WPA-PSK.

Priority determines the preference given to a network by wpa_supplicant when choosing an access point with which to associate.

The network’s SSID.

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

Up to four WEP keys.

Default WEP key index, ranging from 0 to 3.

Methods

Creates and returns a copy of this object.

(Inherited from Object) DescribeContents() Dispose() (Inherited from Object) Dispose(Boolean) (Inherited from Object) Equals(Object)

Indicates whether some other object is «equal to» this one.

(Inherited from Object) GetHashCode()

Returns a hash code value for the object.

(Inherited from Object) JavaFinalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

(Inherited from Object) Notify()

Wakes up a single thread that is waiting on this object’s monitor.

(Inherited from Object) NotifyAll()

Wakes up all threads that are waiting on this object’s monitor.

(Inherited from Object) SetHandle(IntPtr, JniHandleOwnership)

Sets the Handle property.

Читайте также:  Язык программирования для android ios

(Inherited from Object) SetSecurityParams(Int32) ToArray () (Inherited from Object) ToString()

Returns a string representation of the object.

(Inherited from Object) UnregisterFromRuntime() (Inherited from Object) Wait()

Causes the current thread to wait until another thread invokes the java.lang.Object#notify() method or the java.lang.Object#notifyAll() method for this object.

(Inherited from Object) Wait(Int64)

Causes the current thread to wait until another thread invokes the java.lang.Object#notify() method or the java.lang.Object#notifyAll() method for this object.

(Inherited from Object) Wait(Int64, Int32)

Causes the current thread to wait until another thread invokes the java.lang.Object#notify() method or the java.lang.Object#notifyAll() method for this object.

(Inherited from Object) WriteToParcel(Parcel, ParcelableWriteFlags)

Explicit Interface Implementations

IJavaPeerable.Disposed() (Inherited from Object)
IJavaPeerable.DisposeUnlessReferenced() (Inherited from Object)
IJavaPeerable.Finalized() (Inherited from Object)
IJavaPeerable.JniManagedPeerState (Inherited from Object)
IJavaPeerable.SetJniIdentityHashCode(Int32) (Inherited from Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) (Inherited from Object)
IJavaPeerable.SetPeerReference(JniObjectReference) (Inherited from Object)

Extension Methods

Performs an Android runtime-checked type conversion.

Источник

Русские Блоги

Разработка Android WiFi — Wi-FiManager.java Общий API

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

Связанные классы для работы с wifi в основном размещены в пакете android.net.wifi. Чтобы использовать методы, связанные с Wi-Fi, вам необходимо получить некоторые разрешения:

ACCESS_WIFI_STATE Получить статус WiFi.

CHANGE_WIFI_MULTICAST_STATEИзменить статус многоадресной рассылки WiFi

Как подать заявку на разрешение: заполните файл AndroidManifest.xml

Классы, необходимые для операций, связанных с Wi-Fi.

Позвольте мне поговорить об основном использовании Wi-Fi.

public class WifiAdmin <

// Определяем объект WifiManager

private WifiManager mWifiManager;

// Определяем объект WifiInfo

private WifiInfo mWifiInfo;

// Сканированный список сетевых подключений

private List mWifiList;

// список сетевых подключений

private List mWifiConfiguration;

public WifiAdmin(Context context) <

// Получить объект WifiManager

mWifiManager = (WifiManager) context

// Получить объект WifiInfo

public void openWifi(Context context) <

>else if (mWifiManager.getWifiState() == 2) <

Toast.makeText (контекст: «Уважаемый, Wi-Fi включен, нет необходимости открывать его снова», Toast.LENGTH_SHORT) .show ();

Toast.makeText (контекст: «Уважаемый, Wi-Fi уже включен, нет необходимости открывать его снова», Toast.LENGTH_SHORT) .show ();

public void closeWifi(Context context) <

>else if(mWifiManager.getWifiState() == 1)<

Toast.makeText (context, «Уважаемый, Wi-Fi закрыт, нет необходимости снова его закрывать», Toast.LENGTH_SHORT) .show ();

>else if (mWifiManager.getWifiState() == 0) <

Toast.makeText (context, «Уважаемый, Wi-Fi закрывается, нет необходимости закрывать его снова», Toast.LENGTH_SHORT) .show ();

Toast.makeText (контекст, «Пожалуйста, закройте снова», Toast.LENGTH_SHORT) .show ();

// проверка текущего статуса WIFI

public void checkState(Context context) <

if (mWifiManager.getWifiState() == 0) <

Toast.makeText (контекст, «Wi-Fi закрывается», Toast.LENGTH_SHORT) .show ();

> else if (mWifiManager.getWifiState() == 1) <

Toast.makeText (контекст, «Wi-Fi закрыт», Toast.LENGTH_SHORT) .show ();

> else if (mWifiManager.getWifiState() == 2) <

Toast.makeText (контекст, «Wi-Fi включен», Toast.LENGTH_SHORT) .show ();

> else if (mWifiManager.getWifiState() == 3) <

Toast.makeText (контекст: «Wi-Fi уже включен», Toast.LENGTH_SHORT) .show ();

Toast.makeText (контекст, «Статус WiFi не получен», Toast.LENGTH_SHORT) .show ();

public void acquireWifiLock() <

public void releaseWifiLock() <

// блокировка при оценке

public void creatWifiLock() <

// получить настроенную сеть

public List getConfiguration() <

// Укажите настроенную сеть для подключения

public void connectConfiguration(int index) <

// индекс больше настроенного возврата индекса сети

if (index > mWifiConfiguration.size()) <

// Подключаем настроенную идентификационную сеть

public void startScan(Context context) <

// получить результаты сканирования

// получить настроенное сетевое соединение

if (mWifiList == null) <

Toast.makeText (контекст: «В текущей области нет беспроводной сети», Toast.LENGTH_SHORT) .show ();

Toast.makeText (контекст: «WiFi включен, нажмите еще раз, чтобы выполнить сканирование позже», Toast.LENGTH_SHORT) .show ();

Toast.makeText (контекст, «WiFi не включен и не сканируется», Toast.LENGTH_SHORT) .show ();

Читайте также:  Калькулятор андроид нет процентов

// получаем список сетей

public List getWifiList() <

// Просмотр результатов сканирования

public StringBuilder lookUpScan() <

StringBuilder stringBuilder = new StringBuilder();

.append(«Index_» + new Integer(i + 1).toString() + «:»);

// Преобразование информации ScanResult в строковый пакет

// который включает в себя: BSSID, SSID, возможности, частоту, уровень

public String getMacAddress() <

return (mWifiInfo == null) ? «NULL» : mWifiInfo.getMacAddress();

// Получить BSSID точки доступа

public String getBSSID() <

return (mWifiInfo == null) ? «NULL» : mWifiInfo.getBSSID();

public int getIPAddress() <

return (mWifiInfo == null) ? 0 : mWifiInfo.getIpAddress();

// получить идентификатор соединения

public int getNetworkId() <

return (mWifiInfo == null) ? 0 : mWifiInfo.getNetworkId();

// Получить все информационные пакеты WifiInfo

public String getWifiInfo() <

return (mWifiInfo == null) ? «NULL» : mWifiInfo.toString();

// добавляем сеть и подключаем

public void addNetwork(WifiConfiguration wcg) <

int wcgID = mWifiManager.addNetwork(wcg);

boolean b = mWifiManager.enableNetwork(wcgID, true);

// отключаем сеть с указанным идентификатором

public void disconnectWifi(int netId) <

public void removeWifi(int netId) <

// Тогда это практический метод применения, который был проверен только без пароля:

public WifiConfiguration CreateWifiInfo(String SSID, String Password, int Type)

WifiConfiguration config = new WifiConfiguration();

WifiConfiguration tempConfig = this.IsExsits(SSID);

if(Type == 1) //WIFICIPHER_NOPASS

if(Type == 2) //WIFICIPHER_WEP

if(Type == 3) //WIFICIPHER_WPA

private WifiConfiguration IsExsits(String SSID)

List existingConfigs = mWifiManager.getConfiguredNetworks();

for (WifiConfiguration existingConfig : existingConfigs)

Две ошибки

Эти коды вроде бы хороши, но после тестирования в разных средах были обнаружены некоторые проблемы.

1 точка доступа Wi-Fi протестирована, некоторые ssids — это «», то есть ssid! = Нуль, не могу сказать.

2 В списке Wi-Fi есть много точек доступа с одним и тем же именем, то есть в результате сканирования есть перекрывающаяся часть, и не существует нескольких точек доступа с одним и тем же именем.

Первый вопрос ssid: «». В этой настройке нет дополнительного Wi-Fi, но можно получить другую информацию об этой точке доступа, указывая, что эта точка доступа существует, ее следует скрыть, поэтому ее нельзя получить. Поэтому в настройках телефона есть кнопка для добавления сети.

Вторая проблема состоит в том, что эта проблема не возникает, когда поблизости есть несколько точек доступа Wi-Fi, и эта проблема возникает, когда есть много соседних сетей Wi-Fi. Для этого необходимо удалить точку доступа с одинаковым именем, но если есть два wifi с одинаковым именем ssid, то вы можете различить по возможностям. Если возможности также совпадают, то это невозможно, и в настройках системы не будет отображаться одно и то же имя.

Источник

Русские Блоги

Разработка Android WiFi

Обзор

подробно

Загрузка кода: http://www.demodashi.com/demo/10660.html

1. Подготовка

Eclipse Luna Service Release 1 (4.4.1)

Huawei Honor 6 (Android4.4), Huawei p9 (Android7.0)

Разработка Android WiFi (1) Сканирование, подключение, информация

Разработка Android WiFi (2) Точка доступа Wi-Fi

2. Структура кода

Пакет кода состоит из двух частей: одна — это исходный код, а другая — пакет поддержки V7.

(Исходный код проекта)

3. Разработка Wi-Fi для Android (1) Сканирование, подключение, информация

1. Подробное объяснение

В нормальной разработке часто используется контент, связанный с Wi-Fi, поэтому я буду систематизировать то, что использовал раньше, чтобы не забыть.

Соответствующие классы для работы с Wi-Fi в основном помещаются в пакет Android.net.wifi. Чтобы использовать методы, связанные с Wi-Fi, вам необходимо подать заявку на некоторые разрешения:

CHANGE_WIFI_MULTICAST_STATE Изменить статус многоадресной передачи WiFi

Как подать заявку на разрешение: заполните файл AndroidManifest.xml

Классы, необходимые для операций, связанных с Wi-Fi.

Позвольте мне рассказать об основных принципах использования Wi-Fi.

как показано на картинке:

Две ошибки

Кажется, что с этими кодами проблем нет, но при тестировании в различных средах были обнаружены некоторые проблемы.

Читайте также:  Андроид не принимает смс сообщения

1 Некоторые из протестированных точек доступа Wi-Fi имеют ssid «», то есть ssid! = Null, сказано не может быть получено.

2 В списке Wi-Fi есть много точек доступа Wi-Fi с одинаковыми именами, то есть в результате сканирования есть перекрывающиеся части, а не несколько точек доступа Wi-Fi с одинаковыми именами.

Первый ssid вопроса — «», похоже, что в настройках нет дополнительного Wi-Fi, но можно получить другую информацию об этой горячей точке, указывающую, что эта горячая точка существует. Должно быть, горячая точка скрыта, поэтому ее нельзя получить. Поэтому в настройках телефона есть кнопка для добавления сети.

Вторая проблема заключается в том, что эта проблема не возникает, когда поблизости мало точек доступа Wi-Fi, и эта проблема возникает, когда поблизости много сетей Wi-Fi. Для этого необходимо удалить точку доступа с тем же именем, но если на самом деле есть два Wi-Fi с одинаковым именем ssid, вы можете отличить их по возможностям. Если возможности также совпадают, нет никакого способа, и то же имя не отображается в настройках системы.

Измените указанный выше метод startScan ().

Таким образом можно избежать двух вышеуказанных ситуаций.

2. Дополнительное описание связанных категорий

ScanResult класс

Этот класс в основном используется для сканирования оборудования Wi-Fi для получения информации о некоторых окружающих точках доступа Wi-Fi (точках доступа). В этой категории в основном 5 доменов,

Информация для печати выглядит следующим образом:

WifiConfiguration класс

Получите конфигурацию сети Wi-Fi через этот класс, включая конфигурацию безопасности и т. Д. Он состоит из 6 подкатегорий:

В этой категории много контента, а не по одному. Вы можете проверить Android SDK, когда он вам понадобится.

WifiInfo класс

Этот класс может получать информацию о состоянии установленных или активных сетей Wi-Fi. Общие методы следующие:

WifiManager класс

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

Следует отметить, что метод getWifiState () предназначен для сожаления о состоянии Wi-Fi, которое представлено целочисленной константой.

В-четвертых, разработка Android Wi-Fi (2) точка доступа Wi-Fi

В этой главе в основном рассказывается о включении точки доступа Wi-Fi на мобильном телефоне.

Адрес загрузки демоверсии будет указан внизу.

1. Создайте точку доступа Wi-Fi.

После тестирования точку доступа Wi-Fi (без секрета, тип безопасности wpa, тип безопасности wpa2) можно открыть и использовать в обычном режиме.

Следует отметить, что Wi-Fi и точку доступа Wi-Fi нельзя включить одновременно, то есть при подключении к Wi-Fi вам необходимо отключить Wi-Fi перед включением точки доступа.

Основной используемый код:

Когда деятельность уничтожена

Добавить событие клика

2. Следите за статусом точки доступа.

При изменении статуса точки доступа Wi-Fi система отправит трансляцию Android.net.wifi.WIFI_AP_STATE_CHANGED, поэтому нам нужно только зарегистрироваться, чтобы слушать эту трансляцию.

значение статуса Wi-Fi AP.

Отправляйте сообщения связанным действиям, отслеживая изменения в статусе Wi-Fi

3. Остающиеся проблемы

При настройке конфигурации Wi-Fi используется атрибут hiddenSSID, который указывает, является ли точка доступа Wi-Fi скрытой,

Но установка wcfg.hiddenSSID = true или false не обнаружила никакой разницы.Разумеется, если установлено значение true, скрытый ssid не должен иметь возможность искать эту точку доступа.

Но все можно обыскать. Пожалуйста, оставьте сообщение для совета, если вы знаете, большое спасибо.

Друг сказал, что есть проблема с точкой доступа в системе 5.0. У меня здесь нет мобильного телефона 5.0. Точку доступа нельзя включить с помощью теста мобильного телефона Huawei p9Android6.0. Вам нужно добавить write_settings и добавить это разрешение, чтобы успешно открыть его.

Источник

Оцените статью