android - 使用 WifiManager 打开 wifi 停止在 Android 10 上工作

标签 android wifimanager android-10.0

我有以下代码,在 Android 10 之前运行良好。但它无法在 Android 10 设备中打开 wifi。

WifiManager wifiMgr = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
boolean res = wifiMgr.setWifiEnabled(true);
//res value is set to false above because setWifiEnabled returns false on Android 10

以下是我在AndroidManifest.xml中的权限

<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>
<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>
<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>
<uses-permission android:name=\"android.permission.INTERNET\"/>
<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>

我什至动态地请求这些权限。但这似乎也没有帮助。

问题:
Android 10 有什么变化吗?我应该做更多的事情来从我的应用程序中以编程方式打开 wifi 吗?

最佳答案

public boolean setWifiEnabled( bool 值启用)

This method was deprecated in API level 29. Starting with Build.VERSION_CODES#Q, applications are not allowed to enable/disable Wi-Fi.

Compatibility Note: For applications targeting Build.VERSION_CODES.Q or above, this API will always return false and will have no effect.

If apps are targeting an older SDK ( Build.VERSION_CODES.P or below), they can continue to use this API.

根据文档,Apps 将无法从 Android-10 API level 29 开始 Wi-Fi OFF/ON[ 直到谷歌提供替代解决方案]。

有关详细信息,请参阅 official documentation .

还有一个 issue 128554616已在 google issuetracker 中创建了关于此的内容。

关于android - 使用 WifiManager 打开 wifi 停止在 Android 10 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58075596/

相关文章:

android - 如何更改Android模拟器的默认语言?

android - 我可以使用 WiFi 在两部未连接到路由器的安卓手机之间传输数据/消息吗?

android - String.replace 返回额外的引号

arduino - ESP8266 + WiFiManager + pubsubclient

android - android 10 (2019) 可以恢复语音通话录音吗?

java - FirebaseRecyclerAdapter DatabaseException : Can't convert object of type java. lang.String 输入帖子

android - 如何在 Android 中动态地将背景颜色应用于 ListView ?

java - 如何在其他类中执行 fragmentTransaction?

安卓 Q : background activity starts

android - API 29 等已弃用 ALBUM_ART 列,如何获取路径?