do meu aplicativo Android, eu gostaria de abrir um link para um perfil do Facebook no aplicativo oficial do Facebook (se o aplicativo estiver instalado, é claro). Para o iPhone, existe o fb://
esquema de URL, mas tentar a mesma coisa no meu dispositivo Android gera um ActivityNotFoundException
.
Existe a chance de abrir um perfil do Facebook no aplicativo oficial do Facebook a partir do código?
android
facebook
url-scheme
Björn Marschollek
fonte
fonte
Respostas:
Na versão do Facebook 11.0.0.11.23 (3002850)
fb://profile/
efb://page/
não funciona mais. Descompilei o aplicativo do Facebook e descobri que você pode usá-lofb://facewebmodal/f?href=[YOUR_FACEBOOK_PAGE]
. Aqui está o método que eu tenho usado na produção:fonte
ActivityNotFoundException
Isso funciona na versão mais recente:
Use este método:
Isso abrirá o aplicativo do Facebook se o usuário o tiver instalado. Caso contrário, ele abrirá o Facebook no navegador.
EDIT: como a versão 11.0.0.11.23 (3002850) do aplicativo do Facebook não suporta mais esse caminho, existe outro caminho, verifique a resposta abaixo de Jared Rummler.
fonte
Isso não é mais fácil? Por exemplo, dentro de um onClickListener?
PS. Obtenha seu ID (o grande número) em http://graph.facebook.com/[userName]
fonte
Para a página do Facebook:
Para o perfil do Facebook:
... porque nenhuma das respostas aponta a diferença
Ambos testados com o Facebook v.27.0.0.24.15 e Android 5.0.1 no Nexus 4
fonte
Aqui está a maneira de fazer isso em 2016, funciona muito bem e é muito fácil.
Descobri isso depois de analisar como os emails enviados pelo facebook abriram o aplicativo.
fonte
este é o código mais simples para fazer isso
fonte
Uma abordagem mais reutilizável.
Essa é uma funcionalidade que geralmente usamos na maioria dos nossos aplicativos. Portanto, aqui está um pedaço de código reutilizável para conseguir isso.
(Semelhante a outras respostas em termos de fatos. Publique aqui apenas para simplificar e tornar a implementação reutilizável)
"fb://page/
não funciona com versões mais recentes do aplicativo FB. Você deve usarfb://facewebmodal/f?href=
para versões mais recentes. ( Como mencionado em outra resposta aqui )Este é um código de trabalho completo atualmente disponível em um dos meus aplicativos:
Este método retornará o URL correto para o aplicativo, se instalado, ou o URL da Web, se o aplicativo não estiver instalado.
Em seguida, inicie uma intenção da seguinte maneira:
É tudo o que você precisa.
fonte
Isso foi submetido à engenharia reversa por Pierre87 no fórum FrAndroid , mas não consigo encontrar nenhum funcionário que o descreva; portanto, ele deve ser tratado como indocumentado e passível de parar de funcionar a qualquer momento:
fonte
tente este código:
fonte
Para fazer isso, precisamos do "ID da página do Facebook", você pode obtê-lo:
Para abrir o aplicativo do Facebook na página de perfil especificada,
você consegue fazer isso:
Ou você pode validar quando o aplicativo do facebook não estiver instalado e abrir a página da web do facebook.
fonte
Page ID
na guia Sobre. É privado?Após muitos testes, encontrei uma das soluções mais eficazes:
fonte
Minha resposta se baseia na resposta amplamente aceita de joaomgcd. Se o usuário tiver o Facebook instalado, mas desativado (por exemplo, usando a Quarentena de aplicativos), esse método não funcionará. A intenção do aplicativo do Twitter será selecionada, mas não será possível processá-lo porque está desativado.
Ao invés de:
Você pode usar o seguinte para decidir o que fazer:
fonte
Melhor resposta que encontrei, está funcionando muito bem.
Basta ir à sua página no Facebook no navegador, clicar com o botão direito do mouse e clicar em "Visualizar código-fonte" e encontrar o
page_id
atributo: você deve usarpage_id
aqui nesta linha após a última barra invertida:Por exemplo:
fonte
Em março de 2020, isso funcionaria perfeitamente.
fonte
fonte
A partir de julho de 2018, isso funcionaria perfeitamente com ou sem o aplicativo do Facebook em todos os dispositivos.
fonte
Eu criei um método para abrir a página do facebook no aplicativo do facebook, se o aplicativo não existir, será aberto no chrome
Utils.class adiciona este método
e isto
fonte
Para iniciar a página do facebook a partir do seu aplicativo, deixe urlString = "fb: // page / your_fb_page_id"
Para iniciar o facebook messenger, deixe urlString = "fb-messenger: // usuário / your_fb_page_id"
O ID da página do FB geralmente é numérico. Para obtê-lo, vá para Find My FB ID e insira o URL do seu perfil, algo como www.facebook.com/edgedevstudio e clique em "Find ID Numérico".
Agora você tem seu ID numérico fb. substitua "your_fb_page_id" pelo ID numérico gerado
fonte
Declarar constantes
Método de declaração
Função de chamada
fonte
Respondendo a isso em outubro de 2018. O código de trabalho é aquele que usa o ID da página. Acabei de testar e é funcional.
fonte
Eu implementei neste formulário no webview usando fragment-inside oncreate:
e fora onCreateView:
fonte
fb aberto no evento de clique no botão sem usar o facebook sdk
fonte
fonte
1 - para obter seu ID, vá para o seu perfil de imagem e clique com o botão direito do mouse e pegue o endereço do link de cópia.
fonte
fonte
Você pode abrir o aplicativo do facebook no botão e clicar da seguinte maneira: -
fonte