5
当您在Wi-Fi Direct中拨打discoverPeers
时,它将返回PeerListListener
中的onPeersAvailable
方法的对等方列表(一旦您拨打requestPeers
)。但是,当您拨打discoverServices
时,您只能在方法DnsSdServiceResponseListener
中一次获得一项服务。有谁知道是否有办法改变这种情况,并在给定的时间获得所有可用的服务?或者如果有一个特定的原因,为什么它一次只能返回一个?为什么Android Wi-Fi Direct只能通过discoverServices一次返回一项服务?
要添加到此答案,我认为Android开发人员的逻辑是正确的。该设备已经发现了一项服务,因此您的应用程序会收到此新发现的服务的通知。但是,当调用PeerListListener回调时,onPeerAvailable方法会向您提供所有可用对等方的状态。 Wi-Fi P2P服务发现的超时时间为两分钟(https://sphen.proxmobil.com/android-wi-fi-direct-service-discovery/),因此您可以在两分钟内缓存发现的服务。 –