代码之家  ›  专栏  ›  技术社区  ›  Drake

如何清除发现的对等缓存

  •  0
  • Drake  · 技术社区  · 5 年前

    在我的Android应用程序中,我使用 WifiP2pManager 通过WiFi Direct发现对等点的API。它工作了,并且在调用后按预期发现它们

    wifiP2pManager.DiscoverPeers(myChannel, myActionListener);
    

    但有时,如果在设备被发现后关闭它,它仍会出现在 WifiP2pDeviceList 当我再次发现同龄人时。实际上,我必须从设备上关闭和打开WiFi(这是在发现对等设备),这样它就不会再显示设备(这是关闭的)。有没有我可以清理的小伤口?

    我在XAMARIN中开发这个应用程序,Android,但是在Java/KoTLIN中的一个答案很好。

    编辑

    刚意识到如果我等一分钟,关闭的设备就不会再出现在发现的对等设备列表中了。仍然想知道是否有一种方法可以更快地清除缓存。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Leo Zhu    5 年前

    在系统再次调用“discoverpeers()”之前,设备不会消失,系统当前将(在Android框架中)设置为在60秒后调用。

    这是正常的行为,可能你对此无能为力。

    解释行为的答案: https://stackoverflow.com/a/25154034/3260008