Obtener el objeto Activity de Preferencias personalizadas
Estoy intentando integrar facebook-connect a mi aplicación android. Todos los ejemplos que estoy viendo a través de Internet están creando la conexión de una actividad de Android. Estoy haciendo algo un poco diferente, el usuario puede configurar su conexión a facebook desde una preferencia personalizada. Tuve éxito cuando lo hice para twitter y foursquare. Sin embargo, el método Facebook.authorize requiere una actividad como parámetro, y como estoy dentro de una preferencia, no puedo encontrar ninguna referencia a un objeto de actividad.
Así que mi pregunta aquí es, ¿cómo obtener una referencia para una actividad dentro de una preferencia?
Gracias a todos T
Fui capaz de obtener la referencia de Actividad mediante la conversión del objeto Contexto en una actividad.
Activity activity = (Activity) context;
O con una actividad personalizada también puede hacer esto
SettingsActivity activity = (SettingsActivity) context;
Es una vieja pregunta, aunque utilizo la siguiente función con el fragmento de preferencias com.android.support:preference
:
public static Activity getPrefActivity(Preference pref) { Context c = pref.getContext(); if (c instanceof ContextThemeWrapper) { if (((ContextThemeWrapper) c).getBaseContext() instanceof Activity) return (Activity) ((ContextThemeWrapper) c).getBaseContext(); } else if (c instanceof Activity) return (Activity) c; return null; }
Suponiendo que tiene una actividad llamada MyActivity
, ¿puede utilizar MyActivity.class
?