getParams not calling in StringRequest Android
<p>I am using <code>StringRequest</code> to send the <code>Files</code> to server. I am using the following code:</p>

<pre><code>final MultipartEntityBuilder mHttpEntity = buildMultipartEntity(files_to_upload, params);

        Response.Listener&lt;String&gt; rListner = new Response.Listener&lt;String&gt;() {
            @Override
            public void onResponse(String response) {
                if(response != null) {
                    Intent intent = new Intent(Constants.ACTION_RESPONSE_RECEIVED);
                    intent.putExtra(Constants.RESPONSE, response);
                    intent.putExtra(SignupActivity.EXTRA_ACTION_RESPONSE, SignupActivity.EXTRA_SIGNUP_DATA);
                    LocalBroadcastManager.getInstance(MyApplication.getContext()).sendBroadcast(intent);
                }
            }
        };

        Response.ErrorListener errorListner = new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Intent intent = new Intent(Constants.ACTION_RESPONSE_RECEIVED);
                LocalBroadcastManager.getInstance(MyApplication.getContext()).sendBroadcast(intent);
                if(error != null &amp;&amp; error.getMessage() != null) {
//                    Toast.makeText(MyApplication.getContext(), error.getMessage(), Toast.LENGTH_SHORT).show();
                }
                else {
                    Log.i(TAG, "postRequestToServer: onErrorResponse : error message null");
                }
            }
        };

        StringRequest jsonObjectRequest = new StringRequest(Request.Method.POST, url, rListner, errorListner)
        {
            @Override
            protected Map&lt;String, String&gt; getParams() throws AuthFailureError {
                return params;
            }

//            @Override
//            public Map&lt;String, String&gt; getHeaders() throws AuthFailureError {
//                return params;
//            }

            @Override
            public String getBodyContentType() {
                return mHttpEntity.build().getContentType().getValue();
            }
//
            @Override
            public byte[] getBody() throws AuthFailureError {
                ByteArrayOutputStream bos = new ByteArrayOutputStream();
                try {
                    mHttpEntity.build().writeTo(bos);
                } catch (IOException e) {
                    VolleyLog.e("IOException writing to ByteArrayOutputStream");
                }
                return bos.toByteArray();
            }
        };

private MultipartEntityBuilder buildMultipartEntity(String files_to_upload, HashMap&lt;String, String&gt; params) {

        MultipartEntityBuilder builder = MultipartEntityBuilder.create();

        String[] arr_files = files_to_upload.split("##");
        for(int i = 0; i &lt; arr_files.length; i++) {
            String filePath = arr_files[i];
            if(filePath == null || filePath.length() == 0)
                continue;
            File file = new File(filePath);
            String extension = MimeTypeMap.getFileExtensionFromUrl(arr_files[i]);
            String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);

            builder.addBinaryBody("userfile", file, ContentType.create(mimeType), file.getName());
//            builder.addPart("userfile", new FileBody(file));
        }

        try {
            for (String key: params.keySet())
                builder.addPart(key, new StringBody(params.get(key)));
        } catch (UnsupportedEncodingException e) {
            VolleyLog.e("UnsupportedEncodingException");
        }

        return builder;
    }
</code></pre>

<p>But the issue is <code>getParams</code> is not being called. Server is expecting paramters, I tried to send using <code>EntityBuilder</code> but still I am having errors in sending the parameters. </p>

<p>Can anyone please let me know how can I upload files using
 <code>StringRequest with Parameters</code>?</p>