Android 10 启用 WiFi 并连接到特定的一个

Android 10 enable WiFi and connect to specific one

我正在尝试将 Android 10 连接到 WiFi。

我试过 WifiNetworkSuggestion、WifiNetworkSpecifier、NetworkCallback...这很烦人,因为你必须等待某种操作系统通知,在某些情况下,它会花费很长时间,或者它不会出现,你永远不会连接给它。见图:

Android network suggestion notification

所以我决定看看 WiFi 应用程序如何处理 Android 10 个已弃用的 API。我发现了一些。他们在尝试启用 WiFi 时向我展示了这个面板。

Enable wifi panel

是的,执行 wifiManager.setWifiEnable(true) 或 (false) 时会显示此面板,但是,此方法在 API 29 中已弃用,我正在使用 phone API29(Android10,问)。我怎样才能触发这个面板呢?也许有些意图?我试过了:

startActivityForResult(new Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY), INTERNET_SETTINGS_REQUEST);

它显示了这一点。见图:

ACTION_INTERNET_CONNECTIVITY intent

但这不是我要找的。因此,我一直在寻找几天没有 WifiNetworkSuggestion、WifiNetworkSpecifier、NetworkCallback in Android 10 的更好的连接 WiFi 的方法。我将向您展示一个应用程序,它可以在没有上述任何 WifiNetwork 类 的情况下立即连接到 WiFi。观看视频

Video how Android 10 connects with one panel

改了targetSdkVersion改成28解决了一会儿,我用的是29

现在的问题是,自 2020 年 11 月 2 日起,您将无法再上传针对 SDK 28 的应用。所以现在我们被迫使用网络建议。