我可以在应用程序的WebView中使用本机浏览器中的cookie吗?

时间:2011-06-05 17:59:57

标签: android

我希望使用手机访问我网站的用户从我这里获取Cookie。之后,当他们使用我的应用程序时,我希望他们使用上一个会话中的相同cookie。

那可能吗?

如果没有,是否有不同的方法来维护浏览器会话和应用会话之间的状态信息?

谢谢你的时间!

3 个答案:

答案 0 :(得分:6)

来自Android文档(http://developer.android.com/reference/android/webkit/WebView.html

  

Cookie和窗口管理

     

出于明显的安全原因,您的应用程序有自己的缓存,cookie存储等 - 它不共享浏览器应用程序的数据。 Cookie在单独的线程上管理,因此索引构建等操作不会阻止UI线程。如果要在应用程序中使用cookie,请按照CookieSyncManager中的说明进行操作。

所以简短的回答是否定的,您无法访问主浏览器存储在您应用的WebView中的任何内容。

我不完全确定你可以做些什么来绕过它。您不能只将服务器上的会话数据存储在数据库中并将其链接到用户帐户。然后,您可以让应用程序存储其登录详细信息并自动登录,这意味着他们无需在每次使用应用程序时键入其用户名/通行证,并且每次都可以同步其会话详细信息。对于用户来说,它应该看起来相当无缝。

答案 1 :(得分:0)

如果他们在您的应用中使用网页浏览,则可以检索并保存Cookie以便在您的应用中重复使用,例如进行Web服务调用。

但是如果你想从主要的Android网络浏览器中获取cookie,我认为不可能。

答案 2 :(得分:0)

据我所知,这是不可能的(我正在寻找同样的事情)。有些解决方案尝试在统计上识别用户,并且应该能够在应用和浏览器上创建相同的用户ID(您可以查看AdTruth