Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

java.lang.IllegalStateException: Orca SharedPreferences used before initialized

I have integrated the Facebook SDK for android v3.5 in my app and included the install publishing code:

com.facebook.AppEventsLogger.activateApp(this);

But I am receiving a lot of crashes caused by:

Settings.java line 418
com.facebook.Settings.getAttributionId

and it's throwing the exception:

java.lang.IllegalStateException: Orca SharedPreferences used before initialized

I have been trying to reproduce the crash with no success. Has anybody encountered this issue? I just want to know if:

/* 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);
}

this would fix the problem? Thanks!

like image 778
rosaMerino Avatar asked Sep 18 '13 13:09

rosaMerino


1 Answers

We finally fixed this issue by catching the exception and avoiding that devices without an installed facebook app got activated. A facebook developer answered us:

"The user needs to have the Facebook Android app installed on their device and logged in for activateApp to function properly."

This is the code we finally used and it isn´t crashing anymore:

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!");
    }

I hope this helps others...

like image 60
rosaMerino Avatar answered Oct 04 '22 20:10

rosaMerino