如何在Android中创建Twitter共享按钮?

时间:2012-12-30 19:16:18

标签: android twitter parameters

我正在创建一个Android应用程序,其中我想添加Twitter分享按钮,点击Twitter按钮将在Twitter上分享一些内容(标题+网址)。我快到了,但我的链接有问题。当我用“&”给出两个参数时,它将不起作用。如果有人有合适的答案,请告诉我。答案将非常感谢。

//Full URL: http://www.mywebsite.com/index.php?option=com_content&catid=40&id=12546&view=article**

String title = "Hello title";
String catid = "40";
String id = "12546";

Uri.Builder b = Uri.parse("http://www.mywebsite.com/").buildUpon();
    b.path("index.php");
    b.appendQueryParameter("option=com_content&catid", catid);
    b.appendQueryParameter("&id", id);
    b.appendQueryParameter("&view=article", null);
    b.build();

String url = b.build().toString(); 

String tweetUrl = "https://twitter.com/intent/tweet?text=" + title + "&url=" + url;

Uri uri = Uri.parse(tweetUrl);
startActivity(new Intent(Intent.ACTION_VIEW, uri));

输出:=> “http://www.mywebsite.com/index.php?option=com_content&catid=40”

但是=> “& id = 12546& view = article”缺失。

1 个答案:

答案 0 :(得分:3)

你不应该在“appendQueryParameter”的第一个参数中提供&符号(&),它会自动为你添加。用它作为:

b.appendQueryParameter("id", id); // instead of ("*&*id", id);
b.appendQueryParameter("view=article", null); // instead of ("*&*view=article", null);

输出将是你期望的那个

https://twitter.com/intent/tweet?text=Hello title&url=http://www.mywebsite.com/index.php?option%3Dcom_content%26catid=40&id=12546&view%3Darticle=null

请参阅here使用示例。