2014-09-29 155 views
11

有没有一种方法可以在使用android和facebook facebook sdk的Facebook Messenger中共享文本?与facebook messenger分享文字?

我想做类似whatsapp的方式,选择你的文本,并打开一个意图,选择你想发送的人... 有没有办法做到这一点与Facebook信使? 它出现在intent.choose dialog..but我只想要发送至Facebook信使..

+0

一旦你知道你想分享的文字,你可以使用shareACtion直接分享信使,信使会让你决定把这个文本发送给谁。 – Kiloreux 2014-09-29 14:07:37

+1

结帐https://gist.github.com/gelldur/9c199654c91b13478979您可以通过Messanger分享 – 2015-05-27 10:44:51

+0

嗯,这是在iOS的兄弟... – 2015-12-23 09:34:18

回答

25

使用该代码的onClick ,,

com.facebook.orca是FB信使包名。

Intent sendIntent = new Intent(); 
    sendIntent.setAction(Intent.ACTION_SEND); 
    sendIntent 
      .putExtra(Intent.EXTRA_TEXT, 
        "<---YOUR TEXT HERE--->."); 
    sendIntent.setType("text/plain"); 
    sendIntent.setPackage("com.facebook.orca"); 
    try { 
     startActivity(sendIntent); 
    } 
    catch (android.content.ActivityNotFoundException ex) { 
     Toast.makeText(context,"Please Install Facebook Messenger", Toast.LENGTH_LONG).show(); 
    } 
+0

噢,谢谢!爱你。 – 2014-09-29 14:27:19

+1

@WizKid我们可以在Android上做到这一点,但不是ios,我们不能?为什么fb不让ios通过Messenger发送文本? – alicanbatur 2015-03-10 09:34:13

+4

从2015年5月初开始Messenger不再将自己注册为共享目标。在它改变之前,上面的代码将不起作用。 – tomash 2015-05-04 12:36:40

15

开始Facebook的信使与特定用户

Uri uri = Uri.parse("fb-messenger://user/"); uri = ContentUris.withAppendedId(uri,[provide user id]); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent);

将开始你提到

+0

很高兴知道!谢谢 – 2015-04-15 19:00:24

+0

@Ninad Kambli亲爱的请浏览用户ID,我将如何打开特定用户 tanx – Adiii 2015-06-25 08:05:34

+0

用户id是您在获取Facebook的API请求时获得的用户ID,即“v1.0/me/friends”,并获得ID – 2015-07-31 04:32:18