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

问题描述

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

我尝试了WifiNetworkSuggestion,WifiNetworkSpecifier,NetworkCallback ...,这很烦人,因为您必须等待某种操作系统通知,在某些情况下,它花费的时间太长或没有显示,并且您从未连接到它。查看图片

Android network suggestion notification

因此,我决定看看WiFi应用程序如何处理Android 10弃用的Apis。我发现了一些。他们在尝试启用WiFi时向我显示此面板。

Enable wifi panel

是的,在执行wifiManager.setWifiEnable(true)或(false)时会显示此面板,但是该方法在API 29中已弃用,并且我正在使用具有API 29(Android 10,Q)的手机。但是,如何触发此面板?也许有一些意图?我尝试过:

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

显示了这一点。查看图片

ACTION_INTERNET_CONNECTIVITY intent

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

Video how Android 10 connects with one panel

解决方法

我解决了一段时间,将 targetSdkVersion 更改为 28。我使用的是 29。

现在的问题是,自 2020 年 11 月 2 日起,您无法再上传面向 SDK 28 的应用。因此,现在我们被迫使用 Network Suggestions。