Facebook Sdk No Ha Sido Inicializado FacebookSDK.sdkInitialize()


Hey Sé que esto se preguntó antes, pero ninguna de las soluciones parecen ayudar. Estoy usando el SDK de Facebook por primera vez en mi aplicación.

Lo que he intentado:

Había probado la mayoría de las cosas que se encuentran en Internet pero no obtuve nada con respecto a esto.

Aquí está mi actividad principal.java:

 public class MainActivity extends Activity {

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

Aquí está Mi actividad Principal.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>

Ver mi 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.
Author: Beau Smith, 2015-05-13

5 answers

Tienes que usar FacebookSdk.sdkInitialize(getApplicationContext()); antes setContentView(R.layout.activity_main); como dice la documentación. En caso de que necesite un ejemplo completo de inicio de sesión de facebook, marque este aquí .

 42
Author: Menelaos Kotsollaris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:25:26

No necesitas usar FacebookSDK.sdkInitialize más. Compruebe si su:

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

Está dentro de la etiqueta <application>.

 5
Author: Guilherme Simão Couto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-23 21:27:41

Después de revisar la documentación encontré que están pidiendo inicializar FacebookSDK en la clase de aplicación onCreate() Método.

Código Snap de 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);
   }
 }
 3
Author: Sayem,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-18 06:56:07

Problema

Mientras integraba Android SDK para un proyecto react-native, había terminado la guía Android con React Native v0.30+ Project Configuration , y corrí react-native run-android y luego obtuve esta pantalla:

introduzca la descripción de la imagen aquí

Aprendí que FacebookSdk.sdkInitialize está en desuso. ver aquí

Después de algunas búsquedas, me di cuenta de que la guía no contenía los pasos para agregar el ID de la aplicación de Facebook para mi app.

Solución

  1. Abra el archivo android/app/src/main/AndroidManifest.xml y busque en la etiqueta <application> para confirmar que esta etiqueta meta-data existe:

    <meta-data android:name="com.facebook.sdk.ApplicationId"
              android:value="@string/facebook_app_id"/>
    
  2. Abra el archivo android/app/src/main/res/values/strings.xml y confirme que hay una etiqueta de cadena "facebook_app_id" con su id de aplicación como valor:

    <string name="facebook_app_id">YOUR_APP_ID_HERE</string>
    
  3. Ejecutar react-native run-android.

Estos son los pasos que funcionaron para mí.

 2
Author: Beau Smith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-02 11:00:39

Use el Constructor de Callback de Inicialización de esta manera:

    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);
 0
Author: Jayant Arora,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-18 11:56:33