相关疑难解决方法(0)

如何在Wi-Fi Direct范围内不再提供对等设备时收到通知?

我正在开发基于使用Wifi Direct API 的Android应用程序.我已在我的Activitya BroadcastReceiver中注册,以便收到有关以下Wifi Direct事件的通知:

WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION 
WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION 
WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION  
WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION
Run Code Online (Sandbox Code Playgroud)

我相信对等列表中的任何更改(包含或排除Wifi Direct范围内的对等点)都可能触发BroadcastReceiver.在我的应用中,当找到新的对等体时,其名称正确地包含在a中ListView,但如果对等体离开无线范围(或者如果我关闭其Wi-Fi接口),BroadcastReceiver则不会调用(更具体地说,

WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION
Run Code Online (Sandbox Code Playgroud)

事件未被触发),并且对等名称保留在ListView.

我想知道是否有任何方式来处理这个问题,因为对等名称包含在中ListView,但从未排除.我已经考虑重新初始化Channel和WifiP2pManager实例,但我相信这会断开所有同行.

android wifimanager android-wifi wifi-direct wifip2p

14
推荐指数
1
解决办法
3301
查看次数