首页 > 解决方案 > 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”还有其他替代方法吗?

标签: javaandroid

解决方案


嗯,这可能是因为 WIFI 启用/禁用 API 被禁用,它也被限制在 shell 中执行它。以编程方式使用 svc shell 命令实现此目的可能不再可行。


推荐阅读