如何使用twitter整合Android应用程序在twitter墙上发布消息

时间:2011-02-04 09:03:10

标签: android twitter

我想将Twitter集成到我的Android应用程序中,以便我可以将消息发布到Twitter。

6 个答案:

答案 0 :(得分:9)

这实际上取决于您希望交互如何工作。你可以:

  1. 使用他们的API(由像Heiko Rupp建议的twitter4j等图书馆帮助)或
  2. 找到一种与Twitter应用程序集成的方法,尽管据我所知,目前还没有已发布的协议。这也不是一个好主意,因为许多人使用其他应用程序,如Twidroyd,TweetDeck等,但它肯定会很酷,或者
  3. 如果您不希望用户经常这样做,您可以使用简单的意图打开http://twitter.com/?status=<what-to-tweet>
  4. 方法3可以在这里轻松描述:

    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse("http://twitter.com/?status=" + Uri.encode(message)));
    startActivity(i);
    

    你也可以组合2和3.你可以尝试一些已知的应用程序(官方Twitter,TweetDeck,...),如果所有这些都失败了(因为它们不存在或因为它们已被更新并打破了协议)你打算打开浏览器。

    另请注意,如果应用处理正确的意图,方法3可能实际启动应用而不是浏览器(或者至少让用户在两者之间做出选择)。

    另一件值得一提的事情是,您很可能无法与任何Twitter应用集成。我在这里说的纯粹是假设,我不知道这些应用程序是否支持这种集成。您应该查阅每个应用程序,看看它们是否暴露了您可以使用的一些意图。如果他们不这样做,你仍然可以解决一些问题,你可能会发现它们,但这将是不可靠的,因为它们很可能会在经过几次更新后中断。

答案 1 :(得分:1)

您可以使用twitter4j库与Twitter交谈。由于Twitter已经转变为oAuth,因此初始身份验证并非易事。

基本上您需要在Twitter上注册您的应用程序(转到您的个人资料,然后到开发者页面注册您的应用程序 - 您将获得消费者令牌+秘密)。然后按this example进行Twitter身份验证。

您可以查看Zwitscher(修订版0.65,oAuth的代码尚未针对0.65之后的新内部更改进行更新),这是一个开源Twitter客户端,用于更大的示例。

答案 2 :(得分:1)

您可以查看我的一个示例,了解如何使用Twitter在Android上登录。

它使用twitter4j,稍加修改,你也可以发布推文!

找到它here

更新:此问题有一个特定问题:twitter,update status

答案 3 :(得分:0)

我使用twitter4j和oauth-signpost来创建像oauth授权的facebook(webview对话框)。结帐post

答案 4 :(得分:0)

您可以发送appropriate Intent以启动默认的Twitter应用程序

答案 5 :(得分:0)

您可以在没有Twitter4j的情况下执行此操作,从而避免实施OAuth流程的巨大麻烦。

String tweetText = "We be tweetin!";
String url = "twitter://post?message=";

try {
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(url + Uri.encode(text)));
    startActivity(i);
} catch (android.content.ActivityNotFoundException e) {
    Toast.makeText(this, "Can't send tweet!", 2).show();
}

列出了其他受支持的twitter://网址here

如果用户在其设备上安装了Twitter应用程序,则会直接将其打开到共享视图。取消或分享后,它将直接返回您的应用程序。超级简单。类似于iOS处理共享的方式(与Facebook和Twitter集成)。

这不会处理用户使用其他应用程序作为其主要Twitter客户端的情况。