Ответ 1
Вы можете попробовать Apache DefaultHttpClient для выполнения этой работы для вас, я не думаю, что это было изменено в Ice Cream Sandwich.
Я нашел этот образец, но здесь есть еще много.
Фон:
Я получаю файлы cookie через свое приложение и использую их внутренне, отправляя запросы на http. Пользователи могут переключаться на веб-просмотр в любое время, и в этом случае я синхронизую/добавляю файлы cookie в webView.
Код для синхронизации файлов cookie с веб-просмотром с помощью CookieSyncManager:
CookieSyncManager.createInstance(a);
CookieManager cm = CookieManager.getInstance();
cm.setCookie(domain, cookieName + "=" + cookieValue);
CookieSyncManager.getInstance().sync();
Это работает на уровнях all API кроме API 15+ (Android 4.0, Ice Cream Sandwich). CookieManager API не устарел.
Что вызывает эту проблему и есть ли какие-либо обходные пути?
Вы можете попробовать Apache DefaultHttpClient для выполнения этой работы для вас, я не думаю, что это было изменено в Ice Cream Sandwich.
Я нашел этот образец, но здесь есть еще много.
В последнее время у меня была та же проблема, что и моя ошибка. Проблема заключалась в том, как я установил домен (но он работал до API 15). Попробуйте префикс домена с точкой: ".company.com" вместо "company.com".
Я не вводил cookie из клиента, но я нашел ICS cookie не сохранялись.
Одна работа вокруг для использования локального хранилища вместо файлов cookie. Вам не нужен менеджер синхронизации файлов cookie. это работает на ics и v2 + android.
В моем случае у меня не было домена, поэтому вышеупомянутое не показалось актуальным - Я использовал локальный html файл в папке с ресурсами приложения.
это работает на ics и v2 android
пользоваться
Java
// java
WebSettings webSettings = myWebView.getSettings();
webSettings.setDomStorageEnabled(true); // localStorage
// e.g., if your package is www.myapp.whatever;
webSettings.setDatabasePath("/data/data/www.myapp.whatever/databases/");
HTML
// javascript
function createCookie(name,value,days,path) {
localStorage.setItem(name,value);
}
function readCookie(name) {
return localStorage.getItem(name);
}
Вот ваш ответ: В микросхемах не может быть cookie
Это домен, который вызывает проблему.
для всех версий после 15+ вам придется использовать **. ** domain.com вместо domain.com.