Android Данные сохранения залпа дважды - PullRequest
0 голосов
/ 17 июня 2020

Залп дважды сохраняет данные в базе данных. Это мой код. Я добавил setRetryPolicy, но получил тот же результат. Также я использую android: usesCleartextTraffic = "true" в моем манифесте.

  public void RegisterInfo() {


            Map<String, String> parameters = new HashMap<String, String>();

            parameters.put("name_surname",name_surname );
            parameters.put("email",email);


            JSONObject jsonObject=new JSONObject(parameters);


            final JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST,registerURL , jsonObject, new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {

                    try {

                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) { }
            }) { };
            jsonObjectRequest.setRetryPolicy(new DefaultRetryPolicy(
                    30000,
                    DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
                    DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
            requestQueue = Volley.newRequestQueue(getApplicationContext());
            requestQueue.add(jsonObjectRequest);
        }

Я вызвал эту функцию внутри функции результата знака Google;

private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {
        try {
            GoogleSignInAccount account = completedTask.getResult(ApiException.class);
            Toast.makeText(getApplicationContext(), "Login Success", Toast.LENGTH_LONG).show();
            GoogleSignInAccount acct = GoogleSignIn.getLastSignedInAccount(LoginActivity.this);
            if (acct != null) {
                name_surname = acct.getDisplayName();
                email = acct.getEmail();
                RegisterInfo();
            }

        } catch (ApiException e) {
            // The ApiException status code indicates the detailed failure reason.
            // Please refer to the GoogleSignInStatusCodes class reference for more information.
            Toast.makeText(getApplicationContext(), "signInResult:failed code=" + e.getStatusCode(), Toast.LENGTH_LONG).show();
        }
    }
...