【问题标题】:Android - How to turn off Wifi-directAndroid - 如何关闭 Wifi-direct
【发布时间】:2016-01-26 16:37:04
【问题描述】:

我对 Java、Android 甚至 Stackoverflow 都是新手,如果我的问题写得不好,请见谅。

我遵循了许多在线指南,向我展示了如何使用 Wifi-direct 连接两个设备。 我设法做到了,现在我只需要关闭连接。

我有一个 C++“服务器”对等体和一个 Android“客户端”对等体,对于客户端,我正在使用 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

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

【问题讨论】:

    标签: android wifi-direct


    【解决方案1】:

    使用 WifiP2pManager.removeGroup(Channel channel, ActionListener listener) 离开组,它将停止您设备上的 Wifi Direct。

    http://developer.android.com/reference/android/net/wifi/p2p/WifiP2pManager.html

    【讨论】:

      【解决方案2】:

      试试这个

      在您的清单文件中添加权限

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

      然后你可以在你的类中使用下面的代码 (用于关闭 Wifi)

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

      【讨论】:

      • 感谢您的回答,但这只是关闭了正常的WiFi!我需要关闭 Wifi-Direct 并保持正常的 Wifi!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-18
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多