Android facebook intención de mostrar el perfil con la clase com.facebook.katana.ProfileTabHostActivity no funciona más

Posible duplicado:
Lanzar aplicación de facebook desde otra aplicación

Hasta hace unos días, para mostrar a mis usuarios otro perfil de usuario utilicé la siguiente solución:

Intent intent = new Intent(Intent.ACTION_VIEW); intent.setClassName("com.facebook.katana", "com.facebook.katana.ProfileTabHostActivity"); Long uid = new Long("123456789"); intent.putExtra("extra_user_id", uid); startActivity(intent); 

Esta solución es utilizada por muchos de los usuarios de stackoverflow (De ver todas las preguntas y respuestas sobre este tema).

La última actualización de la aplicación de Facebook (1.9.11), tal vez incluso antes de hacer esta solución obsoleta. Ahora obtendrá la siguiente excepción para hacerlo:

Java.lang.SecurityException: Permiso de denegación: Intención inicial {act = android.intent.action.VIEW cmp = com.facebook.katana / .ProfileTabHostActivity (tiene extras)} de ProcessRecord … requiere null

¿Alguien sabe cómo puedo ahora abrir la aplicación de Facebook?

Gracias

One Solution collect form web for “Android facebook intención de mostrar el perfil con la clase com.facebook.katana.ProfileTabHostActivity no funciona más”

La solución descrita en la pregunta ya no funciona (En la edición de esta pregunta se puede ver los detalles por qué). La nueva versión de la aplicación facebook ya no soporta este tipo de intentos. Vea aquí el informe de errores

La nueva solución es utilizar el mecanismo del esquema del iPhone (Sí, facebook decidió apoyar el mecanismo del iPhone en Android en lugar del mecanismo de intención implícita de Android).

Así que para abrir la aplicación de facebook con un perfil de usuario todo lo que necesitas hacer es:

 String facebookScheme = "fb://profile/" + facebookId; Intent facebookIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(facebookScheme)); startActivity(facebookIntent); 

Si estás buscando otras acciones puedes usar la siguiente página para todas las acciones disponibles (tienes que probarlo, ya que no encontré una publicación oficial de facebook sobre esto)

EDITAR

Esta parte de la pregunta es dar más detalles sobre la naturaleza del problema y la solución, pero los detalles anteriores son suficientes para resolver el problema.

Con la nueva versión de la aplicación de Facebook, se cambió el archivo de manifiesto. Hoy la actividad

Com.facebook.katana.ProfileTabHostActivity

Descrito en el manifiesto de la siguiente manera:

 <activity android:theme="@style/Theme.Facebook" android:name="com.facebook.katana.ProfileTabHostActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout" android:windowSoftInputMode="adjustPan" /> 

Dado que ya no existe ningún filtro de intenciones para esta actividad, el valor predeterminado de android: exportado es ahora falso . En las versiones anteriores, hubo un filtro de intención y el valor por defecto fue true (le invitamos a leerlo aquí ). Quisiera agradecer esta respuesta por los detalles sobre el valor exportado.

Pero la nueva versión tiene la siguiente actividad:

 <activity android:name="com.facebook.katana.IntentUriHandler"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="facebook" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="fb" /> </intent-filter> </activity> 

Y aquí se puede ver que apoyan el esquema de fb y facebook .

  • Facebook login nulo apuntador excepción android
  • Cómo integrar facebook, twitter y google plus a una aplicación para Android
  • El esquema de URL de Facebook no funciona fb: // publish
  • Almacenamiento de Token de acceso a Facebook en la aplicación de Android
  • "Facebook no se puede resolver a un tipo" en Facebook SDK para Android
  • ¿Cómo detectar un evento de cierre de sesión con la API de Android de Facebook v4?
  • Ejecución de múltiples instancias de la misma aplicación en kitkat android
  • Accede a la publicación de Facebook?
  • Recuperar ID de Facebook de authdata en Parse - Android
  • Errores de red constantes para el diálogo de solicitud de Facebook en Galaxy Note
  • Android Facebook .. cómo obtener AccessToken
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.