2015-10-27 3 views
-2

Я вроде как новичок в Java, Android и даже Stackoverflow, извините, если мой вопрос не очень хорошо написан.Android - Как отключить Wifi-direct

Я следил за многими гидами в Интернете, которые показали мне, как подключить два устройства, используя Wifi-direct. Мне удалось это сделать, и теперь мне просто нужно закрыть соединение.

У меня есть C++ «сервер» пэр и Android «клиент» пэр и для стороны клиента я использую Wi-Fi-Direct Demo (ссылки ниже)

  • я создаю Wifi-Direct группы C++ сторона
  • С Android я поиск серверов
  • пользователь выбирает сервер
  • соединение Разъем
  • Передача

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

Если я попытаюсь запустить функцию disconnect() демоверсии, он вводит OnSuccess(), но значок Wifi-Direct просто не исчезнет; Странно, я не могу найти никакого руководства вообще о том, как это сделать.

Есть еще одна проблема с моим приложением ... Если я подключен, и я закрываю приложение, значок Wifi-direct по-прежнему включен, и я не могу подключиться к Интернету с помощью Wi-Fi ... Я думаю, что разъем все еще может находиться в состоянии TIME_WAIT, но я не уверен, как это проверить ...

Заранее благодарю вас!

EDIT: какой-то ответ, что я нашел полезным, но не показывают, как отключить Wi-Fi-Direct: http://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_NLCP_WiFi_Direct_Configuration_Scripts#p2p_group_add

https://android.googlesource.com/platform/development/+/master/samples/WiFiDirectDemo/

Wi-Fi Direct Android

https://stackoverflow.com/questions/7632135/how-to-create-the-server-client-connection-between-android-mobile-and-pc

ответ

0

попробовать этот

Добавить разрешения у вас г файл манифеста

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

Затем вы можете использовать следующий код в классе (Для выключения Wi-Fi)

WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 

wifiManager.setWifiEnabled(false); 
+0

Спасибо за ответ, но это просто закрывает нормальный WiFi! Мне нужно закрыть Wifi-Direct и поддерживать нормальный Wi-Fi! – Kida

Смежные вопросы