安卓意图如何关注Twitter用户?

6
在我的关于界面中,我希望允许用户轻松“关注”我的 Twitter 账号。
我希望现有的 Twitter 应用程序支持某种意图来实现这一点。我不想使用这里提到的建议,因为据我所知,这需要进行身份验证。
如果用户已经安装了官方 Twitter 应用程序,那么最好在必要时在该应用程序内完成任何身份验证。
我以前曾尝试联系过官方 Twitter 应用程序背后的人,但没有收到回复。
3个回答

5
我使用标准的基于http的Intent来结束操作:
操作:
android.intent.action.VIEW

数据:

http://twitter.com/mytwitterusername

用户可以选择在官方Twitter应用程序中打开Intent(或其他应用程序),并从那里轻松关注我的twitter用户名。

1
Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://twitter.com/mytwitterusername")); MyActivity.this.startActivity(intent); - Mark

5

1
太好了,谢谢!如果已安装Twitter应用程序,这将正确使用该应用程序;如果未安装,则使用浏览器。因此,优点是我们不再需要像这样做:try { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("twitter://user?screen_name=" + twitterName))); } catch (ActivityNotFoundException e) { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://twitter.com/#!/" + twitterName))); } - Mark
顺便提一下,我想说https://twitter.com/intent/follow?screen_name=<screen name> 是一个更清晰的例子,可以避免人们认为“theuserid”是一个Twitter用户名。 - Mark
1
@MarkCarter,screen_name 更加清晰易懂。然而,文档说明了 screen names 可以更改,而用户 ID 不能更改。因此,在可能的情况下,我会使用 user_id 确保它永远不会出错。 - BoredAndroidDeveloper
顺便提一下,如果您要发布到亚马逊应用商店,就不能使用 https://twitter.com/intent/follow...,因为如果用户没有安装 Twitter 应用程序,他们将被重定向到一个 Twitter 网页,该页面显示一个链接指向 Google Play 商店(以安装 Twitter 应用程序)。 - Mark

1
如果用户已经安装了官方的 Twitter 应用并登录了,我认为 twitter4j 不会再次要求进行身份验证。我之前使用过 twitter4j 和 Facebook API,如果用户已经登录,它们都不会要求进行身份验证...

谢谢,我会研究一下的。不过如果有一个简单的Intent就好了,这样至少可以避免使用第三方API。 - Mark
没错,但为什么Twitter允许任何人在没有身份验证的情况下与他们的系统交互呢?即使你只想关注某个人,你仍然需要成为一个有效的用户...就是这样! - Amit
但是如果Twitter应用程序对用户进行身份验证,那么它需要以某种方式公开此信息(通过广播接收器、意图过滤器等),以便其他应用程序可以利用它,不是吗? - Mark
不行。这样我就可以检查某人是否已登录 Twitter 并开始关注随机用户、转发随机推文或发布任何我想要的内容了。 - Charlie-Blake

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