我的应用程序中有些不寻常的情况,我无法在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。