Мое приложение недавно начало получать много исключений CookieSyncManager:
java.lang.IllegalStateException: CookieSyncManager::createInstance()
needs to be called before CookieSyncManager::getInstance()
at android.webkit.CookieSyncManager.getInstance(CookieSyncManager.java:81)
at android.webkit.CookieManager$2.run(CookieManager.java:532)
at java.lang.Thread.run(Thread.java:1096)
Ошибка ясна из трассировки стека, но откуда она возникает (это из отчетов магазина Play). Пользовательские сообщения, прикрепленные к трассировке стека, указывают, что это происходит в том месте, где я использую SDK facebook, и он действительно использует CookieSyncManager:
// From Facebook.java
private void startDialogAuth(Activity activity, String[] permissions) {
...
CookieSyncManager.createInstance(activity); // <-- here
dialog(activity, LOGIN, params, new DialogListener() {
public void onComplete(Bundle values) {
CookieSyncManager.getInstance().sync(); // <-- here
...
Это выглядит нормально для меня, но есть ли что-то неправильное в приведенном выше использовании? Я не могу воспроизвести ошибку ни на одном из моих тестовых устройств, возможно, есть разница в реализации?
Спасибо