Android Webview并不总是同步document.cookie

时间:2016-03-18 23:07:52

标签: android cookies webview

在我的应用程序中使用Android 6.0(至少)和Android System WebView。

当JavaScript在整页加载时设置“document.cookie”时,它似乎会立即将新cookie与CookieManager同步。

但是,如果我加载一个设置另一个document.cookie的ajax页面,它将不会很快同步。我一直在花费HOURS试图理解为什么这种“有时”工作,有时候不会,直到我意识到这个问题只与ajax有关。

我通过创建JavaScript每次设置cookie时调用的@JavascriptInterface方法解决了这个问题,所有这些方法都是:

CookieSyncManager.getInstance().sync();

它有效!
但Android Studio警告我 CookieSyncManager已弃用

我在其他问题中读到我们不再需要进行此手动同步,因为Android会自行管理同步,但在这种情况下,我真的希望所有Cookie始终保持同步。

如果在未来的Android API中删除了CookieSyncManager,那么确保Cookie在设置后始终保持同步的最佳方法是什么?

0 个答案:

没有答案