2011-08-16 160 views
1

我在下面的代码中遇到了一些问题。此代码适用于电子邮件,消息,Twitter(用于发送文本),但不适用于Facebook。为什么?Android的Facebook共享意图

Intent i=new Intent(android.content.Intent.ACTION_SEND); 
i.setType("text/plain"); 
i.putExtra(android.content.Intent.EXTRA_SUBJECT,"ScribeAir"); 
i.putExtra(android.content.Intent.EXTRA_TEXT, "ScribeAir has some cool features. Just use it..."); 
startActivity(Intent.createChooser(i,"Share")); 
+1

看到http://stackoverflow.com/a/16933944/154272 – Loda

回答

-7

试试这个:

i.setType("message/rfc822"); 
+0

通过使用上面的setType()现在我只能通过电子邮件发送文本甚至没有消息或Twitter或Facebook也。 – Jyosna

0

这不是为Facebook工作,因为Facebook能够通过共享ACTION_SEND只有一个链接。 如果你想发送文字以及链接。

首先你必须得到支持ACTION_SEND 然后BUIL对话

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
    sharingIntent.setType("text/plain"); 
    List activities = getPackageManager().queryIntentActivities(sharingIntent,0); 
活动后

安装应用程序的列表,现在建一个对话框,以显示活动。然后得到Facebook的意图,并与分享其他所有的facebook api都可以自行处理,但请将类名称通过其他活动。

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
       sharingIntent.setClassName(,); 
       sharingIntent.setType("text/plain"); 
       sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,"hello"); 
       sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "facebook"); 
+10

我从你的帖子中了解到任何东西。 – Radu

+3

他说的是,你不能发送文本与faebook直接分享意图,你应该使用由facebook提供的de API来做到这一点......如果你喜欢这样做,你必须得到意图动作发送,然后,如果Facebook被选中,则获得该事件,并且,如果选择了Facebook,则应该使用Facebook API来共享... –

0
  Intent sharing = new Intent(android.content.Intent.ACTION_SEND); 
      sharing.setClassName(,); 
      sharing.setType("text/plain"); 
      sharing.putExtra(android.content.Intent.EXTRA_SUBJECT,"hello"); 
      sharing.putExtra(android.content.Intent.EXTRA_TEXT, "yahoomail"); 
0

回答质疑这是问很久很久以前..

正如我知道,的Facebook不允许文本的预填充通过意向不像Twitter的/电子邮件。它由Facebook默认。但借助Facebook SDK,我们可以以链接的形式共享文本。

参考Facebook的SDK sharing Docs