我的应用程序中有些不寻常的情况,我无法在WebView中实例化onCreate(),而只能在稍后的回调中实例化(甚至不在同一线程上)。

结果,official documentation中的曲奇切割器说明(没有双关语)(在CookieSyncManager.getInstance().startSync()中调用Activity.onResume()的情况)在我的情况中并不适用。

这是因为CookieSyncManager::createInstance()需要在CookieSyncManager::getInstance()之前被调用,但是我的回调在Activity.onResume()之后被调用(其中CookieSyncManager::getInstance()被调用)。

因此,我唯一的选择似乎是在调用CookieSyncManager::createInstance()之前将Activity.onResume()移至CookieSyncManager::getInstance()

这并不是一个很好的解决方案,因为除非我可以检查CookieSyncManager实例的存在,否则创建多个CookieSyncManager实例不是一个好主意...(反正它无法正常工作)。

因此,我正在考虑也许将CookieSyncManager::createInstance()移至onCreate()与官方文档完全一致。唯一的问题是WebView的实例在onCreate()中尚不存在...

因此,我的问题是:CookieSyncManager是否需要WebView的有效实例吗?

最佳答案

好了,您可以在创建WebView对象之前调用CookieSyncManager,但是那样也不会保存WebView对象的cookie。

10-08 06:11