Android:wifi p2p禁用事件(未禁用)

Android:wifi p2p禁用事件(未禁用),android,wifi,android-wifi,wifi-direct,wifip2p,Android,Wifi,Android Wifi,Wifi Direct,Wifip2p,我注册了一个接受者 WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION 在onReceive()中,我得到了这个动作,并将EXTRA\u WIFI\u状态与这两种情况进行比较 case WifiP2pManager.WIFI_P2P_STATE_ENABLED: case WifiP2pManager.WIFI_P2P_STATE_DISABLED: 但是,我需要知道Wifi何时将被禁用,但尚未禁用,以便调用WifiP2pManage

我注册了一个接受者

WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION 
onReceive()
中,我得到了这个动作,并将
EXTRA\u WIFI\u状态
与这两种情况进行比较

    case WifiP2pManager.WIFI_P2P_STATE_ENABLED:

    case WifiP2pManager.WIFI_P2P_STATE_DISABLED:
但是,我需要知道Wifi何时将被禁用,但尚未禁用,以便调用WifiP2pManager的一些方法。我得打电话

  manager.clearLocalServices
在禁用wifi之前,否则它将失败,并且服务不会被删除。
如何获得“禁用”事件?

我认为这里存在误解。大多数使用Wifi的应用程序直接搜索对等点并维护可用对等点列表

但是,您经常会发现,当对等点不再可用时,实现不会删除它们。当WifiP2pManager.WIFI\u P2P\u STATE\u被禁用时,根据定义,设备将不再可供其他对等方使用。因此,认为设备仍然可用的任何对等方可能只是没有更新“可用”对等方列表,也就是说,他们没有检查哪些设备仍然可用


要验证行为的真实性,您应该在状态更改为WIFI\u P2P\u state\u DISABLED后尝试搜索设备。如果在这次事件之后,同行仍然能够找到您的设备,那么Android实现中存在一个基本缺陷,我对此表示怀疑

我观察到,当wifi被禁用时,该服务将被删除。为什么附近的其他设备仍然可以看到它?如果我在启用wifi时清除该服务,其他设备将停止查看它。这就是为什么我必须截获“禁用”事件有一个事件WIFI\u STATE\u DISABILING,您可以使用它。不幸的是,这也会因为“忙”错误而失败。因此,当您禁用和启用wifi时,其他设备会看到这些服务?每个服务都会单独宣布。因此没有列表,您无法将新列表与以前的列表进行比较。不幸的是,禁用也是p2p框架的一个繁忙条件