Android Заложенное странное поведение печенья - PullRequest
0 голосов
/ 22 января 2020

Я использую Volley в своем приложении для загрузки данных json и использую клавишу c stati (cook ie), чтобы получить ответ и получить еще одного повара ie (sessionid). В моем приложении я выполняю вход для синхронизации c данных на фоне в MainActivity с настройками cook ie, например:

        @Override
        public Map<String, String> getHeaders(){
            HashMap<String, String> headers = new HashMap<>();
            headers.put("Authentication-Token", KLIC);

            return headers;
        }
        @Override
        protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
            Map headers = response.headers;
            cookie = (String)headers.get("Set-Cookie");

            saveCookie(cookie);

            return super.parseNetworkResponse(response);
        }

, а в моем LoginFragment я использую тот же метод (copy-paste и изменено) следующим образом:

        @Override
        public Map<String, String> getHeaders(){
            HashMap<String, String> headers = new HashMap<>();
            headers.put("Authentication-Token", KLIC);

            return headers;
        }
        @Override
        protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
            Map headers = response.headers;
            cookie = (String)headers.get("Set-Cookie");

            saveCookie(cookie);

            return super.parseNetworkResponse(response);
        }

метод MainActivity выполняется после запуска приложения, и полученный "sessionid" является правильным и работает хорошо. Метод LoginFragment также работает корректно, НО! Когда я запускаю приложение, вызывается MainActivity, и я выхожу и снова вхожу, метод LoginFragment НЕ ПОЛУЧАЕТ COOK IE (cook ie == null) - в противном случае Volley получает правильные json данные. Мне нужно перезапустить приложение, чтобы код снова заработал. После перезапуска я получаю повар ie (от MainActivity).

Это означает, что я должен перезапускать свое приложение каждый раз, когда пользователь выходит из системы и хочет войти сразу после.

Is это какое-то скрытое поведение Волли, которое я должен ожидать, или это может быть ошибкой? Заранее спасибо!

...