如何在Android中以编程方式禁用特定SSID的WiFi自动重新连接?

时间:2019-05-15 07:18:22

标签: android android-wifi

如何以编程方式禁用特定SSID的WiFi自动重新连接?我们可以按照屏幕快照中的说明手动进行操作。我想知道我们如何在应用程序内做到这一点。 enter image description here

2 个答案:

答案 0 :(得分:0)

尝试一下:

List<WifiConfiguration> lists = wifiManager.getConfiguredNetworks();
for( WifiConfiguration wc : lists ) {
     if(wc.SSID != null && wc.SSID.equals("\"" + networkSSID + "\"")) {
          wifiManager.disconnect();
          wifiManager.enableNetwork(wc.networkId, true);
          wifiManager.reconnect();

          break;
     }           
}

答案 1 :(得分:0)

您可以尝试查看WifiManager here的android api文档。

  

a)有关触发与Wi-Fi网络的连接的新机制,请参见WifiNetworkSpecifier.Builder#build()。 b)有关新API的信息,请参见addNetworkSuggestions(java.util.List),removeNetworkSuggestions(java.util.List) ,以添加Wi-Fi网络,以便在自动连接到wifi时予以考虑。兼容性注意:适用于面向Build的应用程序。 VERSION_CODES.Q或更高版本,此API将始终返回-1。

如果您随后查看 removeNetworkSuggestions(java.util.List) Android-API

  

删除该应用先前提供的部分或全部网络建议。有关参数的详细说明,请参见WifiNetworkSuggestion。有关使用的等效评估,请参见WifiNetworkSuggestion#equals(Object)。   需要Manifest.permission.CHANGE_WIFI_STATE

因此,如果您在应用中提供了网络建议,则也可以再次删除该建议。这样,如果不再自动重新连接。