在Android中分享到Facebook(类似Twitter)

9
作为任何一位尝试通过Android分享到Facebook的人都知道,Facebook团队已经决定忽略分享协议并忽略分享意图中提供的文本(参见:通过ACTION_SEND从Android应用程序分享文本到Facebook)。
然而,Twitter应用程序似乎已经找到了规避此问题的方法。当您查看推文时:
您可以点击推文下方的共享图标,它会弹出普通的共享对话框,其中包括Facebook在内的应用列表:
如果您点击Facebook,您会看到以下界面:
这看起来非常完美,而且显然Twitter发送的不仅仅是其他答案提出的链接。此外,如果您分享到消息:
您可以看到文本已被正确添加,没有任何问题。Twitter是如何做到的?

这是你正在寻找的答案吗:https://dev59.com/jWkw5IYBdhLWcg3wqMY1 - user3531088
@arrowtop 不是的,请看提供的答案。 - StackOverflowed
3个回答

0

我为了解决这个问题所做的事情有点不太好,但很有用,

复制想要分享的文本到剪贴板中,

弹出消息提示“粘贴文本”,

复制到剪贴板

@SuppressLint("NewApi")
private void copyToClipBoard(String data) 
{
    int sdk = android.os.Build.VERSION.SDK_INT;
    if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB) 
    {
        android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
        clipboard.setText(data);
        Toast.makeText(context,"Paste text", Toast.LENGTH_SHORT).show();
    }
    else 
    {
        android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); 
        android.content.ClipData clip = android.content.ClipData.newPlainText(type,data);
        clipboard.setPrimaryClip(clip);
        Toast.makeText(context, "Paste text", Toast.LENGTH_SHORT).show();
    }

}

0

0
如果您询问如何在从其他应用程序分享到 Facebook 的链接中包含预先填充的文本,那么这实际上直接违反了 Facebook 的政策 -
“确保用户消息参数中的所有内容都是用户输入的。不要预先填充。这包括帖子、消息、评论和字幕。”(https://developers.facebook.com/policy/

1
然而,Twitter应用程序仍然可以做到这一点(以及iOS应用程序)。 - StackOverflowed

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