如何在AQuery(AndroidQuery)中为异步图像加载指定HTTP头?

时间:2013-06-20 16:42:22

标签: android android-query

我需要为远程主机上的某些图像指定特定的Referer才能成功加载。 (例如,引荐来源需要为“http://www.example.com”,否则网络服务器将返回HTTP 403)

AQuery在他们的wiki上有关于为ajax调用指定HTTP标头的部分,但是我似乎无法将这样做用于简单的异步图像调用。

https://code.google.com/p/android-query/wiki/AsyncAPI#Http_Headers

例如,以下是用于通过网络显示图像的普通AQuery代码:

new AQuery(submodelPhoto).image(MyApplication.MEDIA_BASE_URL + getItem(position), true, true, 0, R.drawable.default_image);

如何为此调用指定HTTP Referer?是否可以在应用程序初始化期间为每次调用设置AQuery? (因此,每次尝试加载图像时都不必重复)

1 个答案:

答案 0 :(得分:4)

经过一番挖掘(以及更多阅读BitmapAjaxCallback)后,我提出了这个解决方案:

BitmapAjaxCallback cb = new BitmapAjaxCallback();
cb.header("Referer", "http://www.example.com");
cb.url(MyApplication.MEDIA_BASE_URL + getItem(position)).fallback(R.drawable. default_image).memCache(true).fileCache(true);
new AQuery(submodelPhoto).image(cb);

似乎工作,希望我能找到一种方法,为每个请求设置AQuery的引用者。