CookieSyncManager :: createInstance () необходимо вызвать перед тем, как CookieSyncManager :: getInstance () - PullRequest
9 голосов
/ 27 мая 2011

Это сообщение об ошибке довольно ясно:

CookieSyncManager :: createInstance () должен быть вызван перед CookieSyncManager :: getInstance ()

Но я получаю только этоошибка, потому что я следовал официальной документации :

Чтобы использовать CookieSyncManager, хост-приложение должно вызвать следующее при запуске приложения:

CookieSyncManager.createInstance(context)

Чтобы настроить синхронизацию, хост-приложение должно вызвать

CookieSyncManager.getInstance().startSync()

в Activity.onResume ()

Ошибка возникает только тогда, когда приложение пытается возобновить работу, а не когда онозапускается чисто.

Итак, я могу исправить это, переместив CookieSyncManager.createInstance(context) в Activity.onResume(), но ... разве это не создаст новую проблему?

(например, забывать куки предыдущего сеанса каждый раз, когда приложение возобновляет работу?)

1 Ответ

8 голосов
/ 28 мая 2011

Я следовал официальной документации в одном из последних приложений, и CookieSyncMasnager работает просто отлично ...

У меня есть следующее:

onCreate()
    CookieSyncManager.createInstance(this);

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

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

Я использую контекст активности в createInstance (). Вы не упоминаете, какой контекст вы используете?

Вы также не упоминаете, что делаете CookieSyncManager.getInstance (). StopSync () в onPause () (или аналогичном). Так что, возможно, для резюме вы вызываете CookieSyncManager.getInstance (). StartSync () дважды без промежуточной остановки?

...