android - 为 android 下载管理器类设置代理

标签 android proxy

我有一个带有 WebView 的应用,它可以下载视频并在 VideoView 中播放。

为了管理下载,我使用了 android 方便的 DownloadManager API。 不幸的是,在某些情况下我需要使用代理。

我已经使用反射为 WebView 成功设置了代理 detailed in this stackoverflow question ,但我不确定如何将 DownloadManager 也设置为使用代理..

这可能吗? 如果不是,我有什么选择?

谢谢

最佳答案

我找不到使用 DownloadManager 执行此操作的方法,所以我最终使用 AsyncTask 实现了我自己的(简化的)下载管理器。

然后可以将 Proxy 对象传递给 Url.openConnection,如下所示:

Proxy proxy = new Proxy(Proxy.Type.HTTP, 
                        new InetSocketAddress(proxyHost, proxyPort));
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy);

获得代理连接后,您可以照常下载内容。

关于android - 为 android 下载管理器类设置代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21243954/

相关文章:

java - 在没有运行时开销的情况下模拟接口(interface)的廉价方法

angular - typescript 中的 CollectionResult<T>

android - 发生布局更改时设置动画

android - 使用计时器更新列表 UI

python - 在 Python 中找出代理类型(http,socks 4/5)?

mercurial - 当尝试通过代理服务器连接时,Windows 版 TortoiseHg 显示 "SSL error: unknown protocol"

python - 无法修改函数以坚持一个工作代理

android - Android本地Webview页面中的在线图像

android - Galaxy Tab 和 Motorola XOOM 的绘图和布局

java - 非 Java 程序员进行 Android 开发的最快途径