不推荐使用的FacebookSdk方法抛出RuntimeException

Ral*_*kum 4 android facebook-android-sdk android-facebook facebook-sdk-4.0

我有FacebookSdk.sdkInitialize(getApplicationContext())sdkInitialize()显示为已弃用的位置.根据这篇文章,我们可以删除该行.但之后我得到以下错误AppEventsLogger.activateApp(this):

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)
Run Code Online (Sandbox Code Playgroud)

那我错过了什么?

Anu*_*dal 9

AppEventsLogger.activateApp(this);如果你在manifest.xml中设置了facebook_id,则不需要现在就不需要你只需要在manifest.xml中的Application标签中添加以下内容

 <meta-data
   android:name="com.facebook.sdk.ApplicationId"          
   android:value="@string/facebook_app_id" /> 
Run Code Online (Sandbox Code Playgroud)

其中facebook_app_id在string.xml中定义