我在我的应用程序中遇到了一些不寻常的情况,我无法在 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()
以完全符合官方文档。唯一的问题是,onCreate()
中还不存在 WebView
的实例...
因此我的问题是:CookieSyncManager 是否需要 WebView 的有效实例?
最佳答案
好吧,您可以在创建 WebView 对象之前调用 CookieSyncManager,但是您的 WebView 对象的 cookie 也不会被保存。
关于android - CookieSyncManager 是否需要一个有效的 WebView 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6431242/