Android WifiManager未启用/禁用WiFi状态



我有一个移动应用程序,允许用户点击按钮启用/禁用WiFi。

然而,我今天注意到我的应用程序无法再更改WiFi状态。几周前它就开始工作了。我试着调试它,但下面的方法总是返回false。

boolean result = wifiManager.setWifiEnabled(true);

我正在三星Galaxy Note 9和安卓10上测试它。

当目标为Android 10或更高版本时,不再支持此API。

从Build.VERSION_CODES#Q开始,应用程序不允许启用/禁用Wi-Fi。兼容性注意:对于目标为Build.VERSION_CODES.Q或更高版本的应用程序,此API将始终失败并返回false。如果应用程序的目标是较旧的SDK(Build.VERSION_CODES.P或更低版本(,则可以继续使用此API。

相反,您应该使用Settings.Panel API来呈现允许用户启用或禁用Wi-Fi的系统UI。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
startActivity(Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY))
}