我想将Twitter集成到我的Android应用程序中,以便我可以将消息发布到Twitter。
答案 0 :(得分:9)
这实际上取决于您希望交互如何工作。你可以:
http://twitter.com/?status=<what-to-tweet>
。方法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客户端的情况。