如何在android api级别29及以上(>=29)以编程方式断开并忘记wi-fi网络

gwbalxhn  于 2021-06-27  发布在  Java
关注(0)|答案(0)|浏览(322)

正在尝试断开并忘记通过应用程序使用连接的wifi网络 API level 29 >= 像这样:

// 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 -链接
但是如果我尝试删除建议,我会得到一个关于没有任何建议的错误(这是有意义的)如果我尝试在连接期间将我的热点添加为建议,它会成功删除,但过程不会断开设备与热点的连接。
有没有办法在29级api后实现wifi断开连接?
如果是,怎么办?
注:谷歌很乐意将目标apk下调至api级别28,但自2020年11月以来,谷歌play只接受api级别29+的链接

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题