Android de Facebook: pasar el objeto de Facebook entre actividades

Quiero hacer una aplicación en la que el usuario inicie sesión en una actividad con un botón que llame a la cosa de inicio de sesión de Facebook desde facebook_android_sdk y quiero enviar una publicación en el muro en la segunda actividad que viene después de los inicios de sesión del usuario. Quiero pasar el objeto de Facebook entre actividades. Intenté serializar y empaquetar, ¡pero no funcionó! Alguien me puede orientar para esto? Gracias de cualquier manera

preguntado el 02 de mayo de 12 a las 19:05

3 Respuestas

Guarde su token y caduque a través de SharedPerferences, luego cree un nuevo objeto de Facebook en la segunda actividad, configure el token y caduque desde SharedPreferences y verifique la validez. ¡Eso es todo! Tutorial y aquí muestra:

//facebook token and expires
SharedPreferences prefs = getApplicationContext().getSharedPreferences("facebook",
            MODE_PRIVATE);
String access_token = prefs.getString("access_token", null);
long expires = prefs.getLong("access_expires", 0);
if(access_token != null) {
   facebook.setAccessToken(access_token);
}
if(expires != 0) {
   facebook.setAccessExpires(expires);
}
if (facebook.isSessionValid()) {
// Do your work here
}

contestado el 02 de mayo de 12 a las 19:05

guardé con este código SharedPreferences.Editor editor = mPrefs.edit(); editor.putString("token_de_acceso", facebook.getAccessToken()); editor.putLong("access_expires", facebook.getAccessExpires()); editor.commit(); - xxL55

y obtuve una nueva actividad con este código. SharedPreferences preferencias = getApplicationContext().getSharedPreferences("facebook", MODE_PRIVATE); String access_token = prefs.getString("access_token", null); Long expira = prefs.getLong("access_expires", 0); facebook.setAccessToken(acceso_token); facebook.setAccessExpires(expires); pero obtengo una excepción de tiempo de ejecución. ¿Sabes algo al respecto? - xxL55

y guardas y lees las mismas preferencias? porque lees las preferencias de "facebook" y no sé qué preferencias guardas - Geralt_Encore

Guardé con este 'SharedPreferences.Editor editor = mPrefs.edit(); editor.putString("token_de_acceso", facebook.getAccessToken()); editor.putLong("access_expires", facebook.getAccessExpires()); editor.commit()' - xxL55

y lea con este código ` facebook = new Facebook (APP_ID); SharedPreferences preferencias = getApplicationContext().getSharedPreferences("facebook", MODE_PRIVATE); String access_token = prefs.getString("access_token", null); Log.d("asd", access_token); Long expira = prefs.getLong("access_expires", 0); facebook.setAccessToken(acceso_token); facebook.setAccessExpires(expires);` ¿está mal? - xxL55

Te recomiendo que uses el easyfacebookandroidsdk

He usado esta API en mi proyecto es mejor y fácil de usar.

contestado el 02 de mayo de 12 a las 19:05

Hice casi todo en mi proyecto, puedo hacer las funciones a través de facebook_android_sdk. No eché un vistazo real a easyfacebookandroidsdk, pero tampoco tengo mucho tiempo para aprenderlo. ¿Es muy diferente de Facebook Android SDK? - xxL55

Utilice la preferencia compartida para pasar la sesión entre las actividades.

bundle.putSerializable();

La clase de sesión implementa Serializable

Respondido 09 Abr '13, 10:04

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.