tags:

views:

70

answers:

1

I'm looking for a programmatic way to set-up http proxy settings for android handsets. I've tried using android.provider.Settings.System.putString() to set System.HTTP_PROXY, but my call fails (I'm using a 2.2 emulator image at the moment). My code looks like:

if (System.putString(getContentResolver(), System.HTTP_PROXY, "10.10.2.1:8080")) {
    tv.append("put for HTTP_PROXY succeeded.\n");
}
else {
    tv.append("put for HTTP_PROXY failed.\n");
}

I've also added to my android manifest:

<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />

..although it's not clear from the docs which permission, if any, is required.

I'm familiar with this SO thread, but the technique there requires manual adb commands, which require the SDK tools and (possibly) a rooted phone.

Is there a way to accomplish this? Ideally, I'd like away to set an http proxy that will be used for both data and wifi connections.

A: 

If you are limiting the use of proxies to your own application you can use the Proxy and ProxySelector API.

Jcs
thanks for that info - unfortunately I'm trying to set the proxy generally on the device (so that all browsers will use it, for instance..).
Mike Ellery