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/),因此您可以在兩分鐘內緩存發現的服務。 –