Tenho um aplicativo Android e ele suporta o envio de texto por meio de outros aplicativos. Portanto, ele usa a ACTION_SEND
intenção e o EXTRA_TEXT
campo. O seletor me apresenta todos os aplicativos que podem lidar com essa intenção. Esses são Twitter, e-mail, ... e Facebook. Mas quando seleciono o Facebook, ele abre o navegador e vai para a seguinte página:
http://m.facebook.com/sharer.php?u=mytext
Ele mostra meu texto e o botão enviar. Mas quando pressiono o botão enviar nada acontece. A página simplesmente carrega novamente. Acho que só é possível enviar URLs através do aplicativo do Facebook. Pode ser isso?
Alguém conseguiu enviar texto ACTION_SEND
pelo aplicativo do Facebook para Android?
android
facebook
android-intent
android-sharing
Goddchen
fonte
fonte
Respostas:
EDITADO: com o novo lançamento do aplicativo oficial do Facebook para Android (14 de julho de 2011) FUNCIONA !!!
ANTIGO: Os exemplos acima não funcionam se o usuário escolher o aplicativo do Facebook para compartilhamento, mas funcionam se o usuário escolher o aplicativo Seesmic para postar no Facebook. Eu acho que o Seesmic tem uma implementação melhor da API do Facebook do que o Facebook!
fonte
Para que o Share funcione com o aplicativo do Facebook, você só precisa fornecer pelo menos um link:
Isso irá mostrar a janela de compartilhamento correta, mas quando você clica em compartilhar, nada acontece (eu também tentei com o aplicativo oficial do Twitter, não funciona).
A única maneira que encontrei de fazer o compartilhamento de aplicativo do Facebook funcionar é compartilhar apenas um link sem texto:
Ele mostrará a seguinte janela e o botão Compartilhar funcionará:
Aparentemente, ele pega automaticamente uma imagem e um texto do link para preencher o compartilhamento.
Se você quiser compartilhar apenas texto, você terá que usar a API do Facebook: https://github.com/facebook/facebook-android-sdk
fonte
Facebook
aplicativo irá puxar corretamente o link de uma string comoWonderful search engine http://www.google.fr/
. Observe que eu disse puxar o link , mesmo assim não fará nada com o texto. Além disso,Twitter
funciona com o texto e o link.06/2013:
fonte
Primeiro, você precisa da intenção de consulta para a opção de compartilhamento do manipulador. Em seguida, use o nome do pacote para filtrar o Intent, então teremos apenas uma opção de compartilhamento do Intent para esse manipulador!
Compartilhe via Facebook
Bônus - Compartilhe via Twitter
E se você quiser saber como compartilhar através de outro aplicativo de compartilhamento, encontre lá Tép Blog - Compartilhamento avançado via Android
fonte
Então, eu tenho uma solução, mas presume que você tem controle sobre a página que está compartilhando ...
Se você formatar seu EXTRA_TEXT assim ...
... então, em aplicativos que não sejam do Facebook, seu texto deve aparecer mais ou menos assim:
Agora, se você atualizar seu site de forma que as solicitações com o parâmetro de consulta extraText retornem o conteúdo de extraText nos metadados da página.
Então, quando o Facebook escapar desse url para gerar a caixa de diálogo, ele lerá os metadados do título e os incorporará à sua caixa de diálogo de compartilhamento.
Sei que essa é uma solução muito nojenta, então pegue com um grão de sal ...
fonte
Parece que o aplicativo do Facebook lida com essa intenção incorretamente. A maneira mais confiável parece ser usar a API do Facebook para Android.
O SDK está neste link: http://github.com/facebook/facebook-android-sdk
Em 'uso', há isto:
Esta parece ser a melhor maneira de fazer isso - exibir uma caixa de diálogo que será postada na parede. O único problema é que eles podem ter que fazer login primeiro
fonte
fonte
fonte
Parece que é um bug no aplicativo do Facebook que foi relatado em abril de 2011 e ainda não foi corrigido pelos desenvolvedores Android do Facebook.
A única solução no momento é usar seu SDK.
fonte
se você quiser mostrar o texto coloque # no início da mensagem que você deseja que ele compartilhe como Hashtag
fonte