Eu integrei o SDK do Facebook para o Android v3.5 no meu aplicativo e incluí o código de publicação de instalação:
com.facebook.AppEventsLogger.activateApp(this);
Mas estou recebendo muitas falhas causadas por:
Settings.java line 418 com.facebook.Settings.getAttributionId
e está jogando a exceção:
java.lang.IllegalStateException: Orca SharedPreferences used before initialized
Eu tenho tentado reproduzir o acidente sem sucesso. Alguém encontrou esse problema? Eu só quero saber se:
/* Only activate FaceBook publish install if the user has the FaceBook app installed */ if (com.facebook.Settings.getAttributionId(getContentResolver()) != null){ com.facebook.AppEventsLogger.activateApp(this); }
isso resolveria o problema? Obrigado!
Nós finalmente corrigimos esse problema pegando a exceção e evitando que dispositivos sem um aplicativo do facebook instalado fossem ativados. Um desenvolvedor do facebook nos respondeu:
“O usuário precisa ter o aplicativo do Facebook para Android instalado em seu dispositivo e conectado para activateApp para funcionar corretamente.”
Este é o código que finalmente usamos e não está mais travando:
try{ /* Only activate FaceBook publish install if the user has the FaceBook app installed */ if (com.facebook.Settings.getAttributionId(getContentResolver()) != null){ com.facebook.AppEventsLogger.activateApp(this); } } catch (IllegalStateException e){ Log.d(TAG, "Facebook Setting Exception again!"); }
Espero que isso ajude outros…