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

时间:2011-05-27 18:51:30

标签: android cookies webview android-webview

此错误消息非常清楚:

  

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

但我只是因为我跟随official documentation

而得到此错误
  

使用CookieSyncManager,即主机   应用程序必须调用以下内容   当应用程序启动时:

CookieSyncManager.createInstance(context)
     

设置同步,主机   应用程序必须调用

CookieSyncManager.getInstance().startSync()
     

在Activity.onResume()

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

所以,我可以通过将CookieSyncManager.createInstance(context)移到Activity.onResume()来解决这个问题,但是......不会创建新的问题吗?

(例如,每次应用程序恢复时都忘记以前的会话cookie?)

1 个答案:

答案 0 :(得分:8)

我按照最新应用程序中的官方文档进行操作,CookieSyncMasnager工作得很好......

我有以下内容:

onCreate()
    CookieSyncManager.createInstance(this);

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

onPause()
    CookieSyncManager.getInstance().stopSync();

我正在使用createInstance()中的activity上下文。你没有提到你正在使用的上下文?

您也没有提到在onPause()(或类似)中执行CookieSyncManager.getInstance()。stopSync()。所以也许对于一个简历,你在两次调用CookieSyncManager.getInstance()。startSync()而没有干预停止?