【发布时间】:2011-06-21 19:57:15
【问题描述】:
我的应用程序中存在一些不寻常的情况,我无法在 onCreate() 中实例化 WebView,而只能在稍后的回调中实例化(甚至不在同一个线程上)。
因此,official documentation 中的千篇一律的说明(没有双关语),您在 Activity.onResume() 中调用 CookieSyncManager.getInstance().startSync() 并不真正适用于我的情况。
这是因为CookieSyncManager::createInstance() 需要在之前 CookieSyncManager::getInstance() 调用,但我的回调在之后 Activity.onResume() 被调用(其中CookieSyncManager::getInstance() 被调用)。
所以我唯一的办法似乎是将CookieSyncManager::createInstance() 转移到Activity.onResume(),就在调用CookieSyncManager::getInstance() 之前。
这并不是一个好的解决方案,因为除非我可以检查CookieSyncManager 实例的存在,否则创建多个CookieSyncManager 实例并不是一个好主意。 ..(无论如何它都无法正常工作)。
所以我想也许将CookieSyncManager::createInstance()移动到onCreate()以完全符合官方文档。唯一的问题是,WebView 的实例在 onCreate() 中尚不存在...
因此我的问题是:CookieSyncManager 是否需要有效的 WebView 实例?
【问题讨论】: