2014-04-29 5 views
0

나는 Rest 클라이언트를 Android 장치에 작성하려고합니다. 웹 서비스는 사용자 정의 User-Agent 값이 필요합니다.안드로이드 응용 프로그램의 사용자 정의 에이전트

 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; 
        } 
       }; 

그러나 서버가 나타납니다 :

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

사용자 정의 User-Agent 값을 사용하는 방법이를 통해 설정?

답변

1

사용자 에이전트를 설정하려면 getHeaders()를 재정의해야한다고 생각합니다. getParams()를 재정의했습니다. 같은 것이 아닙니다.

/* (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

어리석은 실수. 고마워요;) – user902691

관련 문제