3

J'ai FacebookSdk.sdkInitialize(getApplicationContext()) où sdkInitialize() est affiché comme obsolète. Selon ce article nous pouvons simplement supprimer cette ligne. Mais je suis l'erreur suivante pour la ligne après AppEventsLogger.activateApp(this):La méthode FacebookSdk obsolète déclenche RuntimeException

AndroidRuntime: FATAL EXCEPTION: main                    Process: com.daimler.moovel.android:auth, PID: 4011        java.lang.RuntimeException: Unable to create application com.daimler.moovel.android.DebugApplication: The Facebook sdk must be initialized before calling activateApp            at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5879)            at android.app.ActivityThread.-wrap3(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1699) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:154) 
at android.app.ActivityThread.main(ActivityThread.java:6682) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) 
Caused by: The Facebook sdk must be initialized before calling activateApp 
at com.facebook.appevents.AppEventsLogger.activateApp(AppEventsLogger.java:226) 
at com.facebook.appevents.AppEventsLogger.activateApp(AppEventsLogger.java:208) 

Alors qu'est-ce que je suis absent?

Répondre

2

C'est parce que vous mettez à jour votre Facebook SDK et vous essayez d'utiliser Application de l'AppEventsLogger providinig this comme Context:

AppEventsLogger.activateApp(this);

et qui est remis en place de SDK 4.19 et ci-dessus:

AppEventsLogger.activateApp(getApplication());

La documentation à propos de ce texte est:

Notifie le système d'événements lancé par l'application et les événements d'activation et de désactivation doivent être automatiquement consignés. Cela doit être appelé à partir de la méthode OnCreate de votre application.

Cela a une logique si Facebook SDK est maintenant initialisé automatiquement au démarrage de l'application.

Essayez-le J'espère que cela va résoudre votre problème.

+1

yupi, j'ai déjà ajouté 'AppEventsLogger.activateApp (getApplication());', encore il ya plantage pour certains utilisateurs sur le tissu, ne sais pas comment résoudre ce problème, plantage est pour certains utilisateurs seulement –

2

Pas besoin de AppEventsLogger.activateApp(this); maintenant il est pas nécessaire si vous avez mis en place facebook_id dans manifest.xml u suffit d'ajouter suivante dans la balise d'application dans manifest.xml

<meta-data 
    android:name="com.facebook.sdk.ApplicationId"   
    android:value="@string/facebook_app_id" /> 

où facebook_app_id est défini dans la chaîne .xml