CookieSyncManager :: createInstance () IllegalStateException?
Recientemente, mi aplicación empezó a recibir muchas excepciones de 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)
El error está claro desde el rastreo de la pila, pero desde donde se origina no es (esto es de Play Store). Los mensajes de usuario adjuntos a las pistas de pila indican que está sucediendo en el lugar en el que estoy utilizando el SDK de Facebook y que utiliza CookieSyncManager:
- Cómo implementar manualmente el inicio y cierre de sesión de facebook mediante un botón sin usar el <com.facebook.widget.LoginButton />?
- Facebook SDK para Android 2.3?
- No se puede publicar una imagen de drawable a facebook
- No se puede ejecutar con SDK de Facebook incluido
- Acceda al correo electrónico del usuario utilizando el nuevo SDK de Android de Facebook
// 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 ...
Https://github.com/facebook/facebook-android-sdk/blob/master/facebook/src/com/facebook/android/Facebook.java#L342
Esto me parece bien, pero ¿hay algo malo con el uso anterior? No puedo reproducir el error en ninguno de mis dispositivos de prueba, tal vez hay una diferencia de implementación?
Gracias
- ¿Deben las aplicaciones de Android con un componente de servidor acceder directamente a Facebook?
- Facebook - Publicar en pared desde la aplicación de Android
- Pocas pérdidas de memoria en Facebook SDK
- Obtener permisos de lectura y publicación en una solicitud
- ¿Por qué com.facebook.Settings.publishInstallAsync en onResume?
- Facebook Android SDK 4.0.0 no obtener información del perfil
- Android FacebookSDK inicio de sesión con la aplicación nativa de Facebook instalado pide permisos incluso después de que el usuario ya les ha dado
- Android - Aplicación de Facebook Analytics Evento de instalación no activado
Debe ser como excepción dice:
public void onComplete(Bundle values) { CookieSyncManager.createInstance( activity ); // <-- this line was missing CookieSyncManager.getInstance().sync(); ...
Según el documento de Android
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); CookieSyncManager.createInstance(MainActivity.this); CookieSyncManager.getInstance().startSync(); } public void onReume(){ super.onResume(); CookieSyncManager.getInstance().stopSync(); } public void onPause(){ super.onPause(); CookieSyncManager.getInstance().sync(); }
- ¿Cómo cerrar la actividad del navegador al volver a la actividad de llamada?
- Comparación de componentes de la interfaz de usuario de Android y iPhone