设置android系统范围的代理设置

时间:2012-04-25 08:29:28

标签: android

我正在考虑将Android平板电脑应用编写为广泛的家长控制解决方案的一部分。

该应用应将平板电脑设置为可在系统范围内使用的代理服务器(该设备上的所有应用都将被强制认为是代理服务器)。

代理服务器作业将过滤并监控来自平板电脑的所有传出连接。作为其中的一部分,只有特定网站可用,而大多数应用程序将被阻止(包括Google Play商店或设备上安装的任何其他通信应用程序)。

作为额外的,我希望用户无法通过监控和更改设置或通过使用密码阻止用户来更改或删除代理设置。

实际的代理服务器已经运行且功能正常。 重要的是,应用程序不需要自定义ROM和/或root访问

可以吗?

2 个答案:

答案 0 :(得分:2)

默认情况下,控制应用程序在没有访问所有系统的情况下无法工作 - 意味着root访问权限 - 您可以尝试了解Android Anti Virus软件使用的原理,这将有助于更多。

默认情况下,好像现在无法为应用程序设置代理...

答案 1 :(得分:-1)

我有一段时间遇到同样的问题。我使用一个执行http请求的库,但我无法访问源代码。所以我开始挖掘,我需要做两件事。一个是在我自己的http请求之前添加这段代码:

HttpClient httpClient = new DefaultHttpClient();
if (useProxy) {
  HttpHost proxy = new HttpHost("192.168.1.10", 8080, "http");
  httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
}
//use httpClient for a request here

但这并没有完全解决我的问题。我无法访问使其成为自己请求的库的源代码。我寻找了更多解决方案,我发现您可以使用以下代码为您的应用程序所做的所有请求设置默认代理。

System.setProperty("http.proxyHost", "192.168.1.10");
System.setProperty("http.proxyPort", "8080");

添加此代码后,来自库的请求也会通过代理。