Android Q上非润滑WifiManager.getConfiguredNetworks和WifiManager.removeNetwork方法的替代方案?

Android Q上非润滑WifiManager.getConfiguredNetworks和WifiManager.removeNetwork方法的替代方案?,android,adb,android-wifi,wifimanager,wifi,Android,Adb,Android Wifi,Wifimanager,Wifi,对于UiTest类设置,我需要从没有记忆的Wifi网络开始。 为此,我使用WifiManager.getConfiguredNetworks()和WifiManager.removeNetwork()的组合,这两种组合现在都受到限制,不推荐用于Android Q 现在,由于我在特权模式(超级用户)下运行测试,getConfiguredNetworks()方法实际上会返回一个完整的网络列表,removeNetwork()会删除我通过返回的WifiConfiguration ID传递的网络,即使我在

对于UiTest类设置,我需要从没有记忆的Wifi网络开始。 为此,我使用WifiManager.getConfiguredNetworks()和WifiManager.removeNetwork()的组合,这两种组合现在都受到限制,不推荐用于Android Q

现在,由于我在特权模式(超级用户)下运行测试,getConfiguredNetworks()方法实际上会返回一个完整的网络列表,removeNetwork()会删除我通过返回的WifiConfiguration ID传递的网络,即使我在安卓Q设备上运行此代码

TLDR: 我的问题更多的是关于这两种方法在没有被适当替换的情况下被弃用,而不是它们现在毫无价值。至少我不知道,这就是为什么我要问;我的测试应用程序作为超级用户运行时,是否有任何方法可以:

  • 检索所有Wifi配置
  • 逐个删除它们
  • 在本文中,我们可以阅读:

    getConfiguredNetworks()

    此方法在API级别29中被弃用。a) 请参阅wifinetworksspecifier.Builder#build(),了解触发连接到Wi-Fi网络的新机制。b) 请参阅addNetworkSuggestions(java.util.List),RemovenetworksSuggestions(java.util.List),了解添加Wi-Fi网络的新API,以便在自动连接到wifi时考虑。兼容性说明:对于目标为Build.VERSION\u code.Q或更高版本的应用程序,此API将返回空列表

    他们链接的解决方案似乎是为了连接wifi网络,但这不是我想要的

    另外,如果执行adb shell命令(如果需要,可以在超级用户模式下执行),我至少会很高兴做同样的事情。已尝试使用wpa\u cli list\u networks至少列出所有网络,但似乎不可用


    还试图删除数据/misc/wifi/wpa_请求者数据/misc_ce/0/wifi/WifiConfigStore.xml,但均无效。

    Hi@MahNas92。您找到解决方案了吗?@AlessandroCaliaro,很遗憾,到目前为止,我还没有找到任何可行的替代方案,并且仍在运行不推荐的方法。解决方案: