Voleio Android está enviando informações duas vezes com upload de imagem
Eu estou tentando enviar uma imagem com meus dados de postagem para o meu servidor do android. Para realizar isso, basei minha imagem em 64 e a enviei usando a biblioteca de vôlei do Android. Isso está causando problemas embora. Por alguma razão, às vezes envia o post duas vezes, e não consigo descobrir por quê. Abaixo está a função que é chamada para enviar a solicitação de postagem. Eu coloquei uma marca de quebra noString url = "http://domain.com/ajax_ws.php";
e depois um noprotected Map<String, String> getParams() {
O que eu encontrei é oString url = ...
está sendo chamado apenas uma vez, mas quando envia dois, oprotected Map...
é chamado duas vezes. Não consigo encontrar nenhuma documentação sobre o voleio do Android, então não sei por que isso está acontecendo. O bitmap é redimensionado para que a string de imagem esteja em algum lugar entre 100k e 200k caracteres de forma consistente. Eu pensei que talvez fosse uma questão de tamanho, mas o meu servidor está recebendo as imagens e decodificando-os e tudo bem.
public void Sharing() {
pd = ProgressDialog.show(getParent(), null, "Please Wait...");
final String caption = mEtMessage.getText().toString();
RequestQueue queue = Volley.newRequestQueue(this);
String url = "http://domain.com/ajax_ws.php";
StringRequest postRequest = new StringRequest(
Request.Method.POST,
url,
new MyStringListener(),
new MyErrorListener()
) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("token", "secretToken");
params.put("mode", "createVoucher");
params.put("user_id", ActivityLogin.id);
params.put("deal_id", ActivitySharing.id_deal);
params.put("user_id_company", ActivityRestaurantDetails.res.getId());
params.put("user_img", pathImage);
params.put("caption", caption);
params.put("company_id", ActivityRestaurantDetails.res.getId());
return params;
}
};
queue.add(postRequest);
}
Alguma idéia de por que isso pode estar acontecendo?