我一直在使用 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/