Android和Facebook共享意图

89

我正在开发一个Android应用,想知道如何使用Android的共享意图从应用内更新应用用户的状态。

查看了Facebook的SDK后,似乎很容易做到这一点,但我希望允许用户通过常规的共享意图弹出窗口来执行此操作?如下所示:

pop up

我已尝试了通常的共享意图代码,但似乎无法再针对Facebook使用它。

public void invokeShare(Activity activity, String quote, String credit) {
    Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
    shareIntent.setType("text/plain");
    shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, activity.getString(R.string.share_subject));
    shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Example text");    

    activity.startActivity(Intent.createChooser(shareIntent, activity.getString(R.string.share_title)));
}

更新: 经过更深入的挖掘,看起来这是Facebook应用程序中尚未解决的错误!(Facebook bug)暂时看来,我只能忍受负面的“分享不起作用!”评论。谢谢Facebook :*(


1
已经有一年多了,一直存在问题,经过多次修订,我不明白为什么他们不修复它!! - Nathan Schwermann
4
还是坏的。我开始觉得他们故意不修复它,以便让你使用他们愚蠢的Facebook SDK。 - UncleIstvan
5
哎呀,看起来Facebook现在正式回应称他们不认为这种行为有问题,并且不会改变它:https://developers.facebook.com/bugs/332619626816423 - Scott W
1
那么没有任何解决方法或变通之类的吗?我们必须接受空消息吗? :/ - User
1
不幸的是,唯一的解决方法或变通方法就是将他们的 SDK 集成到您的应用程序中。 - Joseph Woodward
显示剩余3条评论
12个回答

0
我发现将消息从我的应用程序传递到Facebook最简单的方法是通过编程复制到剪贴板并提示用户可以选择粘贴。这样可以避免用户手动操作,我的应用程序不会自动粘贴,但用户可能会这样做。
...
if (app.equals("facebook")) {
    // overcome fb 'putExtra' constraint;
    // copy message to clipboard for user to paste into fb.
    ClipboardManager cb = (ClipboardManager) 
            getSystemService(Context.CLIPBOARD_SERVICE);
    ClipData clip = ClipData.newPlainText("post", msg);
    cb.setPrimaryClip(clip);

    // tell the to PASTE POST with option to stop showing this dialogue
    showDialog(this, getString(R.string.facebook_post));
}
startActivity(appIntent);
...

0

这是我做的一个程序,可以打开Facebook应用并跳转到链接。

shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setComponent(new ComponentName("com.facebook.katana",
                    "com.facebook.katana.activity.composer.ImplicitShareIntentHandler"));

shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT,  videoUrl);

2
对我来说没用。可能是Facebook改变了ImplicitShareIntentHandler的名称。 - Hesam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接