android - Android WifiManager 未启用/禁用 WiFi 状态
问题描述
我有一个移动应用程序,允许用户通过单击按钮启用/禁用 WiFi。
但是我今天注意到我的应用程序不再能够更改 WiFi 状态。它从几周前开始工作。我试图调试它,但下面的方法总是返回 false。
boolean result = wifiManager.setWifiEnabled(true);
我正在三星 Galaxy Note 9 和 Android 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))
}
推荐阅读
- docker - 当我将它们与 docker-compose 分开运行时,容器退出
- laravel - 我需要什么关系?
- node.js - Node.js 上的微服务与 MicroMQ
- deep-learning - 如何基于姿势参数可视化 SMPL 模型的 3d 关节
- python - Python for 循环中的 MySQL 数据库查询时间慢
- selenium-webdriver - 对于销售团队的轻量级 Web 应用程序来说,现场级断言有多重要?
- c# - 冻结第二个选项卡上的窗格
- python - Python字典没有遍历所有元素
- thymeleaf - Thymeleaf 用服务器端的值替换属性变量
- json - 从 jsonschema 中另一个枚举值键的值派生属性名称