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.
- Sprite Rotación alrededor de un punto Andengine / Java
- Cómo ejecutar mi juego para la resolución de pantalla diferente utilizando andengine
- Confused about Andengine Sistema (s) de coordenadas
- AndEngine GLES 2 - pantalla en negro, sin errores
- La mejor práctica para usar Sprites en un juego usando AndEngine GLES2
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
- Android libc.so accidente?
- AndEngine Juego Loop. ¿Dónde está?
- Andengine Sprites aparecen como cajas negras
- Evitar el error "No EGLConfig encontrado!"
- AndEngine cámara offset y 2 escenas
- Cómo agregar ruta de seguimiento para mover sprite en andengine
- ¿Cómo destruir y recrear una escena en andengine correctamente?
- LiveWallpaper error ejemplo Andengine
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); }
- Almacenamiento en caché de Google Maps para uso sin conexión (api v2)
- Guardar una imagen con su pulgar y mostrarla en imageView android