Android WiFi直接WiFi\u P2P\u对等点\u更改\u从未收到操作

Android WiFi直接WiFi\u P2P\u对等点\u更改\u从未收到操作,android,wifi-direct,Android,Wifi Direct,我正在尝试通过WiFi direct为Android制作一款多人游戏。我按照上的说明连接到设备 我与discoverPeers()一起使用的ActionListener成功返回,但我从未收到我将调用requestPeers()的WIFI\u P2P\u PEERS\u CHANGED\u ACTION意图。奇怪的是,当我在一台设备上设置WiFi direct系统时,另一台设备能够通过我的应用程序成功地检测到它。我需要让我的设备在我的应用程序中被发现吗?我在Android开发者资源中没有发现任何关

我正在尝试通过WiFi direct为Android制作一款多人游戏。我按照上的说明连接到设备


我与
discoverPeers()
一起使用的ActionListener成功返回,但我从未收到我将调用
requestPeers()的
WIFI\u P2P\u PEERS\u CHANGED\u ACTION
意图。奇怪的是,当我在一台设备上设置WiFi direct系统时,另一台设备能够通过我的应用程序成功地检测到它。我需要让我的设备在我的应用程序中被发现吗?我在Android开发者资源中没有发现任何关于WiFi P2P的信息。有WiFi direct用于服务发现,但这完全是另外一回事,不是吗?

您是否将WiFi\u P2P\u对等点\u CANGED\u操作添加到您的广播接收器意图过滤器中?我们需要更多信息来帮助您。

您必须在设置/Wifi/Direct Wifi/可用设备下查找设备

您还需要在其他设备上运行
DiscoveryPeers()


现在您将收到
WIFI\u P2P\u PEERS\u CHANGED\u ACTION
intent

我和您一样经历了同样的问题

在这种情况下,有两个因素会导致这个问题。 首先,事件从未发生,也没有向其他人广播。 第二,尽管事件发生了,但意图过滤器没有捕捉到它

在我的例子中,我发现接收者没有正确地获取事件。 原因是我没有正确地将Receiver注册到意图过滤器

等我做完

intentFilter.addAction(WifiP2PManager.WIFI_P2P_PEERS_CHANGED_ACTION), 
我没有这样做

ct.registerReceiver(bReceiver, intentFilter).
ct是活动或上下文,以及 bReceiver是WifiDirectBroadcastReceiver。我第一次写

ct.registerReceiver(bReceiver, intentFilter),
但是,它没有得到正确的执行


我希望这对你有帮助

嗯,是的。正如我所说的,我遵循了上一节课的指导。我不确定还能提供什么其他信息。我可以发布代码,但它看起来像官方示例中的代码,所以这也不是很有趣。这里也有同样的问题。有没有找到问题所在?这里的答案有点过时,但可能会告诉你该去哪里寻找:。你找到解决方案了吗??