Android - 如何关闭 Wifi-direct
Android - How to turn off Wifi-direct
我是 Java、Android 甚至 Whosebug 的新手,如果我的问题写得不好,请见谅。
我遵循了许多在线指南,这些指南向我展示了如何使用 Wifi-direct 连接两个设备。
我设法做到了,现在我只需要关闭连接。
我有一个 C++ "server" 对等点和一个 Android "client" 对等点,对于客户端,我正在使用 Wifi-Direct 演示(链接如下)
- 我创建一个 Wifi-Direct 组 C++ 端
- 从Android我搜索服务器
- 用户选择服务器
- 套接字连接
- 传输
现在我不再需要连接了,所以我想关闭它并立即将两个设备重新连接到正常的 Wifi。
如果我尝试启动演示的 disconnect() 函数,它会进入 OnSuccess(),但 Wifi-Direct 图标不会消失;
奇怪的是,我根本找不到任何关于如何执行此操作的指南。
我的应用程序还有另一个问题...如果我已连接并关闭应用程序,Wifi-direct 图标仍然亮着,我无法使用 Wifi 连接到互联网...我想套接字可能仍处于 TIME_WAIT 状态,但我不确定如何检查它...
提前致谢!
编辑:我发现一些有用的答案,但没有显示如何关闭 Wifi-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
试试这个
在清单文件中添加权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
然后你可以在你的class中使用下面的代码
(用于关闭 Wifi)
WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(false);
使用WifiP2pManager.removeGroup(Channel channel, ActionListener listener)离开群组,这将停止您设备上的Wifi Direct。
http://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.html
我是 Java、Android 甚至 Whosebug 的新手,如果我的问题写得不好,请见谅。
我遵循了许多在线指南,这些指南向我展示了如何使用 Wifi-direct 连接两个设备。 我设法做到了,现在我只需要关闭连接。
我有一个 C++ "server" 对等点和一个 Android "client" 对等点,对于客户端,我正在使用 Wifi-Direct 演示(链接如下)
- 我创建一个 Wifi-Direct 组 C++ 端
- 从Android我搜索服务器
- 用户选择服务器
- 套接字连接
- 传输
现在我不再需要连接了,所以我想关闭它并立即将两个设备重新连接到正常的 Wifi。
如果我尝试启动演示的 disconnect() 函数,它会进入 OnSuccess(),但 Wifi-Direct 图标不会消失; 奇怪的是,我根本找不到任何关于如何执行此操作的指南。
我的应用程序还有另一个问题...如果我已连接并关闭应用程序,Wifi-direct 图标仍然亮着,我无法使用 Wifi 连接到互联网...我想套接字可能仍处于 TIME_WAIT 状态,但我不确定如何检查它...
提前致谢!
编辑:我发现一些有用的答案,但没有显示如何关闭 Wifi-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
试试这个
在清单文件中添加权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
然后你可以在你的class中使用下面的代码 (用于关闭 Wifi)
WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(false);
使用WifiP2pManager.removeGroup(Channel channel, ActionListener listener)离开群组,这将停止您设备上的Wifi Direct。
http://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.html