FacebookSdk.sdkInitialize(上下文)已被弃用

我在Android Studio中使用了facebook-android-sdk-4.19.0,并按照https://developers.facebook.com/docs/android/getting-started上的Facebook快速入门指南(点击Quick Startbutton用你自己的Facebook帐户login)。 在该指南中,我们告诉您将以下代码复制并粘贴到代码段中,以跟踪应用程序日志

import com.facebook.FacebookSdk; import com.facebook.appevents.AppEventsLogger; public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); FacebookSdk.sdkInitialize(getApplicationContext()); AppEventsLogger.activateApp(this); } } 

然而,当我复制粘贴在android studio中的代码,似乎所有的FacebookSdk.sdkInitialize()方法都被弃用。 这里的文档https://developers.facebook.com/docs/reference/android/current/class/FacebookSdk/没有提供什么方法​​来初始化sdk而不是sdkInitialize()。 我应该使用什么方法?

从有关升级SDK的文档:

Facebook SDK现在在应用程序启动时自动初始化。 如果您在主进程中使用Facebook SDK,并且不需要在SDK初始化完成时进行callback,则现在可以删除对FacebookSDK.sdkInitialize的调用。 如果确实需要callback,则应该在代码中手动调用callback。

请参阅: https : //developers.facebook.com/docs/android/upgrading-4x

UPDATE

在SDK 4.22中,不build议使用FBSDKShareLinkContenttitledescriptioncaptionimage字段。 考虑从使用中删除它们。

因此,不要调用已弃用的方法,而是可以在应用程序类的onCreate()中调用AppEventsLogger.activateApp(Application)

 public class MyApplication extends Application{ @Override public void onCreate() { super.onCreate(); AppEventsLogger.activateApp(MyApplication.this); } } 

我有相同的问题,这就是我解决它的方法:把这行代码放在清单文件中

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

https://developers.facebook.com/docs/android/getting-started谢谢;