通过Android中的Settings.Global撤消设置代理

Art*_*ski 9 proxy android

我正在编写系统应用程序,它通过设置全局http代理

Settings.Global.putString(getContentResolver(), Settings.Global.HTTP_PROXY, "127.0.0.1");
Run Code Online (Sandbox Code Playgroud)

我该如何恢复这一变化?
这不起作用:

Settings.Global.putString(getContentResolver(), Settings.Global.HTTP_PROXY, null);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?
提前致谢

Sco*_*per 41

安德鲁斯的回答是有效的,但仅适用于有根设备,这是我对非root设备的解决方案.

我使用以下命令添加了代理:

adb shell settings put global http_proxy <ip>:<port>
Run Code Online (Sandbox Code Playgroud)

要删除它,我使用了以下命令:

adb shell settings delete global http_proxy
adb shell settings delete global global_http_proxy_host
adb shell settings delete global global_http_proxy_port
Run Code Online (Sandbox Code Playgroud)

重启设备,你应该好好去

  • 有没有一种方法可以实时撤消代理,而无需重新启动?实时添加代理但不会删除它。 (4认同)
  • 在Android 4.4中只有两个选项放入和获取 (2认同)

小智 9

以下是删除代理设置的常规命令,无需重启设备即可应用。您可以相对地在您的脚本或应用程序中使用它。

adb shell settings put global http_proxy :0
Run Code Online (Sandbox Code Playgroud)

您不需要运行所有这三个命令。它仅适用于上面的一个命令。所有代理设置将立即删除。