【问题标题】:Android share intent for FacebookFacebook 的 Android 共享意图
【发布时间】:2011-08-16 10:24:00
【问题描述】:

我对下面的代码有一些问题。此代码适用于电子邮件、消息、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"));

【问题讨论】:

标签: android facebook android-intent


【解决方案1】:

回答很久以前提出的问题..

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

参考 Facebook SDK sharing Docs

【讨论】:

    【解决方案2】:

    这不适用于 Facebook,因为 Facebook 只能通过 ACTION_SEND 分享链接。 如果你想发送 Text 和你提到的一样:

    首先,您必须获取支持 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"); 
    

    【讨论】:

    • 我从你的帖子中一无所知。
    • 他说的是,你不能通过意图直接发送文本与 faebook 共享,你应该使用 facebook 提供的 de API 来做......如果你喜欢这样做,您必须获取意图操作发送的活动,然后,如果选择了 facebook,则获取事件,并且,如果选择了 facebook,您应该使用 Facebook API 共享...
    【解决方案3】:
    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");
    

    【讨论】:

      【解决方案4】:

      试试这个:

      i.setType("message/rfc822");
      

      【讨论】:

      • 通过使用上面的 setType() 现在我只能通过电子邮件发送文本,甚至不能发送消息、推特或脸书。
      猜你喜欢
      • 1970-01-01
      • 2012-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多