Android CookieSyncManager::createInstance()需要在CookieSyncManager::getInstance()之前调用

Android CookieSyncManager::createInstance()需要在CookieSyncManager::getInstance()之前调用,android,cookies,webview,android-webview,Android,Cookies,Webview,Android Webview,此错误消息非常清楚: CookieSyncManager::createInstance() 需要提前打电话 CookieSyncManager::getInstance() 但我之所以会出现这个错误,是因为我遵循了: 要使用CookieSyncManager,主机 应用程序必须调用以下命令 应用程序启动时: CookieSyncManager.createInstance(context) 要设置同步,主机 应用程序必须调用 CookieSyncManager.getInstance().s

此错误消息非常清楚:

CookieSyncManager::createInstance() 需要提前打电话 CookieSyncManager::getInstance()

但我之所以会出现这个错误,是因为我遵循了:

要使用CookieSyncManager,主机 应用程序必须调用以下命令 应用程序启动时:

CookieSyncManager.createInstance(context)
要设置同步,主机 应用程序必须调用

CookieSyncManager.getInstance().startSync()
在Activity.onResume()中

只有当应用程序尝试恢复时,而不是在干净地启动时,才会发生错误

因此,我可能可以通过将
CookieSyncManager.createInstance(context)
移动到
Activity.onResume()
来解决这个问题,但是。。。这不会产生新的问题吗


(例如,每次应用程序恢复时都会忘记上一个会话cookies?

我在最近的一个应用程序中查看了官方文档,CookieSyncMasnager工作正常

我有以下资料:

onCreate()
    CookieSyncManager.createInstance(this);

onResume()
    CookieSyncManager.getInstance().startSync();

onPause()
    CookieSyncManager.getInstance().stopSync();
我正在createInstance()中使用活动上下文。你没有提到你在使用哪种上下文


您也没有提到在onPause()中执行CookieSyncManager.getInstance().stopSync()(或类似操作)。因此,对于简历,您可能会在没有中间停止的情况下调用CookieSyncManager.getInstance().startSync()两次?

@Torid抱歉,我没有提到我正在调用
CookieSyncManager.getInstance().stopSync()
中的
onPause()
。据我目前所知,我使用的上下文是主活动的:它在initWebView()中调用,initWebView()是从活动的onInit()调用的,调用方式如下:
rununuithread(new Runnable(){public void run(){initWebView();}})这有什么问题吗?谢谢你和+1。嗯。。。runOnUiThread是一种活动方法,但我不认识onInit。这是什么类的一部分?另外,您不会说上下文是如何通过方法链传递到initWebView的——最好检查“this”是否从活动中正确传递。并且,您始终可以使用CookieSyncManager.createInstance(getApplicationContext())在initWebView调用中显式获取应用程序上下文(而不是活动上下文)@Torid I最终发现问题的根本原因不是上下文,而是调用这些回调的顺序
onInit()
是的回调,当它在
onCreate()
中被触发时,它实际上是在
onResume()之后被系统调用的。因此,这是一个错误。现在的问题是:将
CookieSyncManager.createInstance(context)
移动到
Activity.onResume()
是正确的解决方案吗?太好了。有趣的是,您可以在WebView之前创建CookieSyncManager实例?但是嘿。。。如果有效的话。