Android WifiP2pManager 发现服务超时

标签 android wifi wifi-direct

我一直在使用 Android WifiP2pManager 来发现其他设备上的特定服务。我想知道该函数是否有已知的超时时间

public void discoverServices (WifiP2pManager.Channel c, WifiP2pManager.ActionListener listener)

我在 Android API 中找不到关于它的任何资源。我知道我可以为成功的发现设置一个监听器,但我不知道如何判断是否没有发现。

此外,有没有办法在不完全停止 wifi 管理器功能的情况下停止发现?

在此先感谢您的帮助!

最佳答案

据我所知,clearServiceRequests() 应该可以很好地取消服务发现。

总的来说,我也没有找到任何关于超时的文档,因此我一直在使用 1 分钟的超时计时器来解决这个问题。

请注意,一旦回调被调用一次,您应该取消超时计时器,之后您应该等待发现新服务。

我也没有看到任何关于不同服务之间的服务发现超时应该有多长的文档,但是通过一些测试我确定它应该至少为 5 秒,以便很好地发现可用的服务。

关于Android WifiP2pManager 发现服务超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31735382/

相关文章:

android - 在 Webview 中缩放图像

python - 如何在没有任何 CAN 硬件的 2 台 Linux 机器之间发送和接收 CAN 消息?

c++ - 结合无线网络和点对点连接时出现 GlobalRouting 错误

java - 获取我设备的 WiFi Direct IP 地址

android - 将 iPhone 连接到 Android 的 Wifi Direct 软 AP

android - 位图压缩不会改变位图字节大小

java - NullPointerException setOnClickListner

ios - 错误域=kCFErrorDomainCFNetwork 代码=-1009

android - Bonjour 服务发现未通过 Android 的 API 完成。我是不是遗漏了什么,或者我应该只使用 JmDNS?

android - 为什么 Retrofit @Path 没有被替换?