java - svc wifi disable 无法在 Android 10/11 上以编程方式工作
问题描述
以下代码在 Android 9 上运行良好。这会关闭设备上的 WIFI。
Runtime runtime = Runtime.getRuntime();
try {
Process ipProcess = runtime.exec("svc wifi disable");
int exitValue = ipProcess.waitFor();
return (exitValue == 0);
} catch (Exception e) {
}
相同的代码在 Android 11 上不起作用。
我总是看到一个味精:
I/cmd: oneway function results will be dropped but finished with status OK and parcel size 4
返回的退出值为 255。
如果我通过“adb shell svc wifi disable”执行此命令,它在 Android 9 和 Android 11 上运行良好。
有人试过这个吗?Android 11 的“svc wifi disable”还有其他替代方法吗?
解决方案
嗯,这可能是因为 WIFI 启用/禁用 API 被禁用,它也被限制在 shell 中执行它。以编程方式使用 svc shell 命令实现此目的可能不再可行。
推荐阅读
- node.js - 如何重定向到自定义网址?
- node.js - 如何修复未捕获的 TypeError:无法读取节点中 null 的属性“id”?
- java - 如何使用 SwingWorker 下载和显示图像
- c# - 如何在sql查询中从db中划分列上的textBox?
- html - 无法在我购买的 html 中找到网站上的图像链接。我拥有它,但它在哪里?
- c# - Http Get 请求没有得到任何数据
- c# - Unity3D中Transform的具体用途是什么?和我正在处理的代码示例
- angular - 当我尝试构建我的 ionic 应用程序时,构建 gradle 出现问题
- python-3.x - mac终端中的“python”和“pythonw”有什么区别?
- firemonkey - GPS 文件属性 (FMX)