2016-03-27 16 views
0

Ich bin neu in der Programmierung im Allgemeinen, aber ich learing indem ich mache. Versuchen, Tutorials und How-To's zu folgen, um was zu lernen.facebook login button callback manager

Ich möchte Facebook Login in meiner App verwenden, aber ich habe es schwer, es zur Arbeit zu bekommen. Möglicherweise, weil ich es nicht wirklich verstehe.

Ich versuche den Facebook-Login-Button in ein leeres Projekt zu legen, nur um damit herumzuspielen und zu lernen.

Das Problem, das ich habe, ist, dass Callbackmanager rot im Code ist.

mein MainActivity.java:

package com.langaard.facebooktest; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 

import com.facebook.CallbackManager; 
import com.facebook.FacebookCallback; 
import com.facebook.FacebookException; 
import com.facebook.FacebookSdk; 
import com.facebook.appevents.AppEventsLogger; 
import com.facebook.login.LoginResult; 
import com.facebook.login.widget.LoginButton; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     FacebookSdk.sdkInitialize(getApplicationContext()); 
     callbackManager = CallbackManager.Factory.create(); 
     LoginButton loginButton = (LoginButton) view.findViewById(R.id.login_button); 
     loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
      @Override 
      public void onSuccess(LoginResult loginResult) { 
       // App code 
      } 

      @Override 
      public void onCancel() { 
       // App code 
      } 

      @Override 
      public void onError(FacebookException exception) { 
       // App code 
      } 
     }); 

    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 

     // Logs 'install' and 'app activate' App Events. 
     AppEventsLogger.activateApp(this); 
    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 

     // Logs 'app deactivate' App Event. 
     AppEventsLogger.deactivateApp(this); 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     callbackManager.onActivityResult(requestCode, resultCode, data); 
    } 


} 

Fehlermeldungen sind: Fehler: (22, 9) Fehler: (23, 49) Fehler: kann nicht finden, Symbolvariable Ansicht kann nicht Symbolvariable callbackManager Fehler finden Fehler: (24, 38) Fehler: (62, 9) Fehler: kann nicht finden, Symbolvariable callbackManager

ich bin shure dies ist eine einfache Lösung, und ich bin einfach nicht sehen, kann nicht Symbolvariable callbackManager Fehler finden es, aber würde deine Hilfe schätzen.

Danke. Rune.

Antwort

0

Sie haben nicht erklärt CallbackManager und Sie verwenden es. Deklarieren Sie es in Ihrer Klasse, bevor Sie es in einer beliebigen Methode verwenden.

public class MainActivity extends AppCompatActivity { 

//declaration was missing here 
private CallbackManager callbackManager; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     //Now you can use it here 
+0

das war es! Vielen Dank! –

0

Initalisieren Sie Facebook SDK vor der festgelegten Inhaltsansicht.

Hier ändern.

Und auch Sie müssen Variable für Callbackmanager deklarieren.

Tun Sie dies.

CallbackManager callbackManager; 
0

Ihr callback Objekt nicht deklariert wird, fügen

CallbackManager callbackManager; 
@Override 
    protected void onCreate(Bundle savedInstanceState) { 
    .... 
    callbackManager = CallbackManager.Factory.create(); 
    .... 
}