Установить пользовательский CookieManager при использовании Volley?
Я портировал на Volley и понял, что он не управляет файлами cookie. Затем я искал ответ о том, как это сделать, и до сих пор лучше всего установить значение по умолчанию. CookieHandler
в статическом методе setDefault()
класса CookieHandler
,
Я создал тогда новый CookieManager
как предложено во многих вопросах с моим обычаем CookieStore
, но когда я попытался поставить в очередь запрос, я получил следующую трассировку стека:
07-26 00:27:04.509: E/Volley(11414): [22379] NetworkDispatcher.run: Unhandled exception java.lang.NullPointerException
07-26 00:27:04.509: E/Volley(11414): java.lang.NullPointerException
07-26 00:27:04.509: E/Volley(11414): at java.net.CookieManager.get(CookieManager.java:112)
07-26 00:27:04.509: E/Volley(11414): at com.android.okhttp.internal.http.HttpEngine.prepareRawRequestHeaders(HttpEngine.java:540)
07-26 00:27:04.509: E/Volley(11414): at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:184)
07-26 00:27:04.509: E/Volley(11414): at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
07-26 00:27:04.509: E/Volley(11414): at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
07-26 00:27:04.509: E/Volley(11414): at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:503)
07-26 00:27:04.509: E/Volley(11414): at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:109)
07-26 00:27:04.509: E/Volley(11414): at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:93)
07-26 00:27:04.509: E/Volley(11414): at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:110)
Я использую Moto G с Android 4.4.2 для отладки, и я установил CookieManager
в Application
объект (в onCreate()
).
Я думаю, я ничего не пропустил. Я был бы очень признателен за некоторые идеи для решения этой проблемы или за обходной путь.
Это может быть связано с тем, что ошибка Android Kitkat не работает правильно, когда по умолчанию CookieManager
изменено ( Android 4.4 KitKat не получает куки)