I wanted to do EXACTLY the same in my Android app. Namely, change the User-Agent header, but just add / add something and leave the "original" content (or most of it).
@athor , , userAgent, HttpClientStack, , API Android 8, ( , ). API 9 HurlStack, , , newRequestQueue, , , HurlStack, OkHttpStack.
userAgent, , , , .
, , Volley Request<T>, getHeaders User-Agent. , User-Agent.
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = super.getHeaders();
if (headers == null || headers.equals(Collections.emptyMap())) {
headers = new HashMap<String, String>();
}
if (context != null) {
StringBuilder label = new StringBuilder();
label.append(context.getApplicationInfo().loadLabel(context.getPackageManager()));
label.append("/");
try {
PackageInfo pInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
label.append(pInfo.versionName);
} catch (NameNotFoundException e) {
}
label.append(" ");
label.append(System.getProperty("http.agent"));
headers.put("User-Agent", label.toString());
}
return headers;
}
, System.getProperty("http.agent") "" User-Agent, . , , Dalvik/1.6.0, , 100% .
, Android Context .
, !