Если вы использовали Java SE, я бы порекомендовал вам использовать библиотеку Apache HttpClient.Это поддерживает различные виды аутентификации, включая вход в систему на основе форм с использованием файлов cookie сеанса.Я не знаю, является ли это хорошей рекомендацией для Android.
РЕДАКТИРОВАТЬ
Я не заметил, что настоящей проблемой был доступ к файлам cookie браузера.
1: Вы пытались использовать android.wewbkit.CookieManager.getInstance()
или createInstance(Context)
, чтобы завладеть экземпляром cookiemanager браузера?
2: Возможно линаписать свое приложение (или его часть) как плагин webkit, чтобы он мог таким образом получать доступ к cookie?(Я не знаю достаточно о webkit / android, чтобы знать, имеет ли это смысл.)
3: Если вы не можете этого сделать, вы можете написать свое приложение в качестве веб-прокси и заставить его «украсть»печенье, когда они проходят.(Хотя это звучит как плохая идея. Существуют проблемы безопасности и конфиденциальности, а также проблемы, которые могут помешать нормальной работе браузера.)
4: Наконец, существует запасной вариант написания вашего приложения.сделать свой собственный логин и управлять своим собственным сессионным cookie.Загвоздка в том, что вы не можете избежать того, чтобы ваше приложение относилось к способу входа на удаленный веб-сайт.
FOLLOWUP
@ В ответе Дэниэла Треббиена утверждается, что вариант 1:не стартер по соображениям безопасности.Это имеет смысл.(Если одно приложение может получить файлы cookie другого приложения, безопасность браузера будет отсутствовать.)
Хотя Android и предоставляет API-интерфейс подключаемых модулей, но он устарел, и я видел сообщение от инженера Android, в котором говорится, что егоиспользование не рекомендуется для стороннего кода.Это в значительной степени делает вариант 2: тупик.
Вариант 3: от пользователя потребуется настроить браузер своего телефона для использования вашего приложения в качестве прокси-сервера ... что, вероятно, не следует делать.
Несколько других вариантов, которые следует учитывать, - это:
5: Реализовать функциональность вашего приложения в Javascript как плагин для браузера NPAPI.
6: Используйте WebView, чтобы снабдить ваше приложение собственным (урезанным) веб-браузером.Естественно, ваше приложение будет иметь полный доступ к своему собственному экземпляру CookieManager.