desde mi aplicación de Android, me gustaría abrir un enlace a un perfil de Facebook en la aplicación oficial de Facebook (si la aplicación está instalada, por supuesto). Para iPhone, existe el fb://
esquema de URL, pero intentar lo mismo en mi dispositivo Android arroja un ActivityNotFoundException
.
¿Existe la posibilidad de abrir un perfil de Facebook en la aplicación oficial de Facebook desde el código?
android
facebook
url-scheme
Björn Marschollek
fuente
fuente
Respuestas:
En Facebook versión 11.0.0.11.23 (3002850)
fb://profile/
yfb://page/
ya no funciona. Descompilé la aplicación de Facebook y descubrí que puedes usarlafb://facewebmodal/f?href=[YOUR_FACEBOOK_PAGE]
. Aquí está el método que he estado usando en producción:fuente
ActivityNotFoundException
Esto funciona en la última versión:
Usa este método:
Esto abrirá la aplicación de Facebook si el usuario la tiene instalada. De lo contrario, abrirá Facebook en el navegador.
EDITAR: desde la versión 11.0.0.11.23 (3002850) la aplicación de Facebook ya no es compatible de esta manera, hay otra forma, verifique la respuesta a continuación de Jared Rummler.
fuente
¿No es esto más fácil? Por ejemplo dentro de un onClickListener?
PD. Obtenga su identificación (el gran número) de http://graph.facebook.com/[userName]
fuente
Para la página de Facebook:
Para el perfil de Facebook:
... porque ninguna de las respuestas señala la diferencia
Ambos probados con Facebook v.27.0.0.24.15 y Android 5.0.1 en Nexus 4
fuente
Esta es la forma de hacerlo en 2016, funciona muy bien y es muy fácil.
Descubrí esto después de analizar cómo los correos electrónicos enviados por Facebook abrieron la aplicación.
fuente
este es el código más simple para hacer esto
fuente
Un enfoque más reutilizable.
Esta es una funcionalidad que generalmente usamos en la mayoría de nuestras aplicaciones. Por lo tanto, aquí hay una pieza de código reutilizable para lograr esto.
(Similar a otras respuestas en términos de hechos. Publíquelo aquí solo para simplificar y hacer que la implementación sea reutilizable)
"fb://page/
no funciona con versiones más recientes de la aplicación FB. Debe usarfb://facewebmodal/f?href=
para versiones más nuevas. ( Como se menciona en otra respuesta aquí )Este es un código de trabajo completo actualmente en vivo en una de mis aplicaciones:
Este método devolverá la URL correcta para la aplicación si está instalada o la URL web si la aplicación no está instalada.
Luego comienza una intención de la siguiente manera:
Eso es todo lo que necesitas.
fuente
Pierre87 ha realizado ingeniería inversa en el foro FrAndroid , pero no puedo encontrar ningún sitio oficial que lo describa, por lo que debe tratarse como indocumentado y puede dejar de funcionar en cualquier momento:
fuente
prueba este código:
fuente
Para hacer esto, necesitamos la "identificación de la página de Facebook", puede obtenerla:
Para abrir la aplicación de Facebook en la página de perfil especificada,
Puedes hacerlo:
O puede validar cuando la aplicación de Facebook no está instalada, luego abrir la página web de Facebook.
fuente
Page ID
en la pestaña acerca de. ¿Es privado?Después de muchas pruebas, he encontrado una de las soluciones más efectivas:
fuente
Mi respuesta se basa en la respuesta ampliamente aceptada de joaomgcd. Si el usuario tiene Facebook instalado pero deshabilitado (por ejemplo, usando la Cuarentena de la aplicación), este método no funcionará. Se seleccionará la intención de la aplicación de Twitter, pero no podrá procesarla porque está deshabilitada.
En vez de:
Puede usar lo siguiente para decidir qué hacer:
fuente
La mejor respuesta que he encontrado, está funcionando muy bien.
Simplemente vaya a su página en Facebook en el navegador, haga clic derecho y haga clic en "Ver código fuente", luego busque el
page_id
atributo: debe usarlopage_id
aquí en esta línea después de la última barra diagonal inversa:Por ejemplo:
fuente
A partir de marzo de 2020, esto funciona perfectamente.
fuente
fuente
A partir de julio de 2018, esto funciona perfectamente con o sin la aplicación de Facebook en todos los dispositivos.
fuente
He creado un método para abrir la página de Facebook en la aplicación de Facebook, si la aplicación no existe, abrir en Chrome
Utils.class agrega este método
y esto
fuente
Para iniciar la página de Facebook desde su aplicación, deje urlString = "fb: // page / your_fb_page_id"
Para iniciar Facebook Messenger, deje urlString = "fb-messenger: // user / your_fb_page_id"
La identificación de la página de FB suele ser numérica. Para obtenerlo, vaya a Buscar mi ID de FB ingrese su URL de perfil, algo como www.facebook.com/edgedevstudio y luego haga clic en "Buscar ID numérico".
Voila, ahora tienes tu identificación numérica fb. reemplace "your_fb_page_id" con el ID numérico generado
fuente
Declarar constantes
Método de declaración
Función de llamada
fuente
Respondiendo esto en octubre de 2018. El código de trabajo es el que usa el pageID. Lo acabo de probar y es funcional.
fuente
Implementé en este formulario en webview usando fragment- inside oncreate:
y fuera de onCreateView:
fuente
abrir fb al hacer clic en el evento de botón sin usar Facebook SDK
fuente
fuente
1-para obtener su identificación, vaya a su perfil de imagen y haga clic derecho y tome la dirección del enlace de copia.
fuente
fuente
Puede abrir la aplicación de Facebook al hacer clic en el botón de la siguiente manera: -
fuente