在我的应用程序中使用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在设置后始终保持同步的最佳方法是什么?