Facebook的Android分享意图

时间:2011-08-16 10:24:00

标签: android facebook android-intent

我在下面的代码中遇到了一些问题。此代码适用于电子邮件,消息,Twitter(用于发送文本),但不适用于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"));

4 个答案:

答案 0 :(得分:0)

这不适用于Facebook,因为Facebook只能通过ACTION_SEND共享链接。 如果你想发送文本以及链接。

首先,您必须获取支持ACTION_SEND的已安装应用程序列表 然后建立一个对话框

  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"); 

答案 1 :(得分: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");

答案 2 :(得分:0)

回答很久以前问过的问题..

据我所知,与Twitter / Email不同, Facebook不允许通过Intent预填充文本。它由Facebook默认。但是在Facebook SDK的帮助下,我们可以以链接的形式共享文本。

参考Facebook SDK sharing Docs

答案 3 :(得分:-7)

试试这个:

i.setType("message/rfc822");