Facebook Sdk Не Был Инициализирован FacebookSdk.sdkInitialize()

Эй, я знаю, что это спрашивали раньше, но ни одно из решений, похоже, не помогает. Я использую первый раз Facebook SDK в своем приложении.

что я пробовал:

Я пробовал большинство вещей, найденных на интернет но ничего не получили по этому поводу.

вот мой класс MainActivity.java:

 public class MainActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    FacebookSdk.sdkInitialize(getApplicationContext());
   } 
}

вот мой Activitymain.XML-код:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:facebook="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

 <com.facebook.login.widget.LoginButton
    android:id="@+id/connectWithFbButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:layout_gravity="center_horizontal"
    android:text="  connect_with_facebook" /> 
</LinearLayout>

посмотреть мои чтение logcat:

 05-13 16:30:39.332: E/AndroidRuntime(10264): Caused by: The SDK has not been initialized, make sure to call FacebookSdk.sdkInitialize() first.

5 ответов


вы должны использовать FacebookSdk.sdkInitialize(getApplicationContext()); до setContentView(R.layout.activity_main); as документация государств. В случае, если вам нужен полный пример входа в facebook, регистрация здесь.


вам не нужно использовать FacebookSdk.sdkInitialize больше. Проверьте, если ваш:

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

внутри <application> тег.


после проверки документация я обнаружил, что они просят инициализации FacebookSdk в классе приложений onCreate() метод.

привязать код из Facebook doc:

  public class MyApplication extends Application {
 // Updated your class body:
 @Override
 public void onCreate() {
    super.onCreate();
    // Initialize the SDK before executing any other operations,
    FacebookSdk.sdkInitialize(getApplicationContext());
    AppEventsLogger.activateApp(this);
   }
 }

используйте конструктор обратного вызова Initialise следующим образом:

    Handler mHandler = new Handler();
            FacebookSdk.InitializeCallback initializeCallback = new FacebookSdk.InitializeCallback() {
                @Override
                public void onInitialized() {

                    mHandler.post(new Runnable() {
                        @Override
                        public void run() {
                            //UI Code Here
                        }
                    });
                }
            };
    //before setContentView()   
 FacebookSdk.sdkInitialize(getActivity().getApplicationContext(),initializeCallback);