Вы использовали эту строку -
if (sessionCookie != null) {
cookieManager.removeSessionCookie();
}
.Чтобы каждый раз получать новые файлы cookie.
Похоже, что вы столкнулись с той же проблемой, с которой я столкнулся, проверьте ссылку ниже -
removeSessionCookie () проблема android (code.google.com)
говорит, что removeSessionCookie()
реализован в потоке, поэтому всякий раз, когда он вызывается;поток запускается и после вызова setCookie(url, cookieString);
удаляет только что установленный вами cookie.Таким образом, для некоторых устройств он работает хорошо, поскольку removeSessionCookie()
уже выполнен, в то время как для некоторых он удаляет cookie, и мы получаем эту проблему.
, используя SystemClock.sleep(500);
, вы просто дали системе завершить removeSessionCookie() сначала
Я предлагаю вам удалить это removeSessionCookie();
, поскольку вы устанавливаете только один файл cookie, чтобы он не конфликтовал с другими файлами cookie.Ваш код будет работать без проблем.