2014-04-29 2 views
0

J'essaye d'écrire Rest client sur l'appareil Android. Le service Web requiert une valeur personnalisée User-Agent. Je mets ce via:Personnalisé User-Agent dans l'application android

 JsonObjectRequest(Request.Method.POST, url, object, new Response.Listener<JSONObject>(protected Map<String, String> getParams() throws AuthFailureError { 
//some code 
         final HashMap<String, String> map = new HashMap<String, String>(super.getParams()); 
         map.put("User-Agent", "Custom-Agent 1.0"); 
         map.put("Content-Type","application/json"); 
         return map; 
        } 
       }; 

Mais serveur reçoit:

Dalvik/1.4.0 (Linux; U; Android 2.3.3; sdk Build/GRI34) 

Comment utiliser la valeur personnalisée User-Agent?

Répondre

1

Je pense que vous devez remplacer getHeaders() pour définir l'user-agent - vous remplacez getParams(). Pas la même chose.

/* (non-Javadoc) 
* @see com.android.volley.Request#getHeaders() 
*/ 
@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>(); 
    } 

    headers.put("User-Agent", "Custom-Agent 1.0"); 
    // probably don't need to set the content-type here -- 
    // it should be set for you by Volley 
    //headers.put("Content-Type", "application/json"); 

    return headers; 
} 
+0

Erreur stupide. Merci beaucoup ;) – user902691