Inicio de sesión de Facebook android

HI Guys Necesito implementar el inicio de sesión de facebook para mi aplicación de Android. también estoy usando andengine así que no puedo utilizar el botón de inicio de sesión proporcionado por facebook. También necesito la dirección de correo electrónico del usuario.

He creado una actividad llamada facebookActivity para este propósito.

public class FacebookActivity extends BaseGameActivity{ private static final int CAMERA_WIDTH = 480; private static final int CAMERA_HEIGHT = 720; private Scene scene; private StatusCallback callback; @SuppressLint("NewApi") @Override public EngineOptions onCreateEngineOptions() { int SDK_INT = android.os.Build.VERSION.SDK_INT; if (SDK_INT>8){ StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); } final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); return new EngineOptions(true, ScreenOrientation.PORTRAIT_SENSOR, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); } @Override public void onCreateResources( OnCreateResourcesCallback pOnCreateResourcesCallback) throws Exception { pOnCreateResourcesCallback.onCreateResourcesFinished(); // TODO Auto-generated method stub } @Override public void onCreateScene(OnCreateSceneCallback pOnCreateSceneCallback) throws Exception { scene = new Scene(); scene.setBackground(new Background(HelperMethods.getColorFromHex("#372108"))); pOnCreateSceneCallback.onCreateSceneFinished(scene); } @Override public void onPopulateScene(Scene pScene, OnPopulateSceneCallback pOnPopulateSceneCallback) throws Exception { callback = new Session.StatusCallback() { // callback when session changes state @Override public void call(Session session, SessionState state, Exception exception) { if (session.isOpened()) { // make request to the /me API Request.executeMeRequestAsync(session, new Request.GraphUserCallback() { // callback after Graph API response with user object @Override public void onCompleted(GraphUser user, Response response) { if (user != null) { Log.d("text","Hello " + user.getName() + " " + user.getInnerJSONObject()); } } }); } else{ } } }; final OpenRequest openRequest = new OpenRequest(this); List<String> readPermissions = new ArrayList<String>(); readPermissions.add("email"); openRequest.setPermissions(readPermissions); openRequest.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK); openRequest.setCallback(callback); runOnUiThread(new Runnable(){ @Override public void run() { new Session(FacebookActivity.this).openForRead(openRequest); } }); pOnPopulateSceneCallback.onPopulateSceneFinished(); } } 

Cuando ejecuto este código obtengo una excepción NullPointerException

 java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=64206, result=-1, data=Intent { (has extras) }} to activity {com.vocabtrainer.code/com.vocabtrainer.code.FacebookActivity}: java.lang.NullPointerException 

Intenté depurar y encontré que dentro onActivityResult Session.getActiveSession () es null. pero mi aplicación realmente va a Facebook me autoriza y pide permisos. ¿Me estoy perdiendo de algo? Chicos por favor cheque

  protected void onFacebookLoginClicked() { Session.openActiveSession(SplashActivity.this, true, permissions, new Session.StatusCallback() { @Override public void call(Session session, SessionState state, Exception exception) { if (session.isOpened()) { Request.newMeRequest(session, new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser user, com.facebook.Response response) { if (user != null) { final Session curSession = Session .getActiveSession(); fbUserid = user.getId(); fbEmail = user.asMap() .get("email") .toString(); fbtoken = curSession .getAccessToken(); fbFirstName = user .getFirstName(); fbLastName = user.getLastName(); fbLink = "https://graph.facebook.com/" + fbUserid + "/picture"; enter code here } } }).executeAsync(); } } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); } 
  • Problema con la orientación de la pantalla de Android
  • Andengine FPS bajo en ciertos teléfonos
  • Queue multiple entity modifiers in AndEngine
  • Imagen de fondo de AndEngine
  • Andengine problema de textura extraña
  • AndEngine - Kill Sprite después de X segundos?
  • Cómo cargar spritesheet de la tarjeta SD en AndEngine
  • Y el motor aplican fuerza
  • ¿Hacer saltar un sprite cuando el usuario teclea en la pantalla?
  • ¿Debo usar cocos2D o andengine?
  • AndEngine - No se puede instanciar la actividad
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.