Как отправить токен firebase на веб-сервер с помощью залпа в android java из Activity? - PullRequest
0 голосов
/ 06 августа 2020

Попытки получить токен из Firebase в методе залпа MainActivity

  1. Получить токен из FirebaseInstanceId.getInstance (). GetInstanceId и назначить его токену String.
  2. Получите токен в onCreate и назначьте его токену String, затем поместите в часть Volley.
                final Map<String, String> params = new HashMap<>();
            //    params.put("Content-Type", "application/json; charset=UTF-8 ");
                params.put("username", Name);
                params.put("token", token);//<-- this is always empty and only username get stored in the database
Напишите другой метод для получения токена и возврата строки токена, затем назначьте его параметрам
params.put("token", getToken());//<-- this is in volley which is still empty



public String getToken() {

        final String[] s = {""};
        try {
            FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(ProfileActivity.this, new OnSuccessListener<InstanceIdResult>() {
                @Override
                public void onSuccess(InstanceIdResult instanceIdResult) {
                    s[0] = instanceIdResult.getToken();
                    String token = instanceIdResult.getToken();
                    assignToken(token);
                    // Log.e("newToken in activity",  s[0]);                  

                }
            }).addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.i("FireBaseToken", "onFailure : " + e.toString());
                }
            });
        } catch (Exception e) {
            e.printStackTrace();
        }
        return s[0];
    }
Были и другие попытки, но желаемых результатов не было. Если вы присваиваете значение глобальной переменной, объявленной вверху и присваивающей значение в onCreate, тогда токен должен быть там в части залпа (точно так же, как переменной Name однажды присвоено определенное значение, и оно остается везде). Но почему этого не происходит в случае токена?
...