android - Volley 库使服务器无响应

标签 android android-volley

我是 volley 的新手,我在我的应用程序中添加了 volley 库,当我向它发出请求时,它将完美工作 1 或 2 天,之后该应用程序停止并给出 volley 服务器未响应错误。我已经检查了很多关于它的链接,但问题仍然得到解决。 这是我的截击请求代码:

StringRequest stringRequest = new StringRequest(Request.Method.POST, mainUrl, new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
        try {
            JSONObject obj = new JSONObject(response);
            mainWVUrl = obj.getString("url");
            Log.d(TAG, "MainWVUrl" + mainWVUrl);
            JSONArray jsonArray = obj.getJSONArray("timeRange");
            for (int i = 0; i < jsonArray.length(); i++) {
                minTime = jsonArray.getInt(0);
                maxTime = jsonArray.getInt(1);
            }
            Boolean WVVisible = obj.getBoolean("visible");

            Bundle args1 = new Bundle();
            args1.putString(MAINURL, mainWVUrl);
            args1.putBoolean(WVBOOLEAN, WVVisible);
            broadcastIntent.putExtra(BUNDLE1, args1);
            TimeOut = TimeUnit.SECONDS.toMillis(obj.getInt("timeout"));
            String javaScriptUrl = obj.getString("smsUrl");
            Util.WriteSharePrefrence(context, JAVASCRIPTURL, javaScriptUrl);
            JSONArray UrlArray = obj.getJSONArray("urls");
            for (int j = 0; j < UrlArray.length(); j++) {
                JSONObject jsonObject = UrlArray.getJSONObject(j);
                String subUrl = jsonObject.getString("url");
                long time = jsonObject.getInt("time");

                UrlTimeModel urlTimeModel = new UrlTimeModel();
                urlTimeModel.setSubUrl(subUrl);
                urlTimeModel.setTime(time);
                modelArrayList.add(urlTimeModel);
            }
            if (startService.equalsIgnoreCase("start")) {
                Bundle args = new Bundle();
                args.putSerializable(LIST, (Serializable) modelArrayList);
                args.putLong(TIMEOUT, TimeOut);
                broadcastIntent.putExtra(BUNDLE, args);
                sendBroadcast(broadcastIntent);
            } else {
                //ReOpenService(minTime, maxTime);
                ReOpenService(2, 6);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
},
new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        Log.d(TAG, "VolleyError" + error);
    }) {
    @Override
    protected Map<String, String> getParams() throws AuthFailureError {
        Map<String, String> stringMap = new HashMap<>();
        stringMap.put("?device=", Util.DeviceId(AutoOpenAppService.this));
        stringMap.put("&rand=", UUID.randomUUID().toString());
        Log.d(TAG, "VolleyMap" + stringMap);
        return stringMap;
    }
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);

我使用 POST 请求发送数据。

最佳答案

您需要像这样更改请求参数键..

@Override
    protected Map<String, String> getParams() throws AuthFailureError {
        Map<String, String> stringMap = new HashMap<>();
        stringMap.put("device", Util.DeviceId(AutoOpenAppService.this));
        stringMap.put("rand", UUID.randomUUID().toString());
        Log.d(TAG, "VolleyMap" + stringMap);
        return stringMap;
    }

关于android - Volley 库使服务器无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48742511/

相关文章:

android - 致命异常 : Thread-18 java. lang.OutOfMemoryError:在使用较低版本设备的 android volley 中

android - 当 Volley Request 被取消时

java - 对我的应用程序执行此任务的最佳延迟是什么?

java - 在启动屏幕上获取数据

android - 是否可以在 Flutter 中使用手写笔输入?

java - 在类(而不是 Activity )之间传递数据会导致空指针异常

java - Android (Java) HttpURLConnection 静默重试 'read' 超时

java - handleWindowVisibility : no activity for token android. os.BinderProxy

android - 在 Android 支持库中自定义导航 View

android - 如何使用Android+Smack+XMPP向聊天气泡添加 "like" react