微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Android API 级别 29 (>= 29) 及以上以编程方式断开和忘记 Wi-fi 网络

如何解决如何在 Android API 级别 29 (>= 29) 及以上以编程方式断开和忘记 Wi-fi 网络

试图断开连接并忘记 使用 API level 29 >= 通过应用程序连接的 WIFI 网络,如下所示:

// Connect to wifi
WifiNetworkSpecifier specifier = new WifiNetworkSpecifier.Builder()
    .setSsid("my_hotspot")
    .setWpa2Passphrase("secret_password")
    .build();

NetworkRequest request = new NetworkRequest.Builder()
     .addTransportType(NetworkCapabilities.TRANSPORT_WIFI) // we want WiFi
     .setNetworkSpecifier(specifier) // we want _our_ network
     .build();
                
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
                
connectivityManager.requestNetwork(request,networkCallback);


这有效。

但是我无法断开与此网络的连接。 已弃用的 removeNetwork() 方法的文档含糊地提到我应该使用 removeNetworkSuggestions - link

但是如果我尝试只删除建议,我会收到关于没有任何建议的错误(这是有道理的) 如果我尝试在连接期间将我的热点添加为建议,它会成功删除,但该过程不会断开设备与热点的连接。

有没有办法在 API 级别 29 中实现与 wifi 的断开连接?

如果有,怎么办?

注意:很乐意将目标 apk 降级到 API 级别 28,但自 2020 年 11 月起,Google Play 仅接受 API 级别 29+ link

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。