gpt4 book ai didi

android - 创建一个 "Tweet this button"仅在 Twitter 上共享信息并不容易

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:19:20 26 4
gpt4 key购买 nike

对于我的应用程序,我在主屏幕中显示了一个 twitterfeed。很酷的是,人们可以在没有 Twitter 帐户的情况下关注有关我国火车公司的 Twitter 信息。

enter image description here

我想做的是当用户点击一个项目然后允许他回复/RT 时使用react。如果用户没有安装 Twitter 应用程序,则不应发生任何事情(可能是 toast )

我试过这个 Action :

Intent tweetIntent = new Intent(Intent.ACTION_SEND);
tweetIntent.putExtra(Intent.EXTRA_TEXT, "Test; please ignore");
tweetIntent.setType("application/twitter");

但似乎也可以打开电子邮件、Gmail 和其他无用的应用程序。

有没有办法过滤该列表并仅保留 Twitter 应用程序(Twitter、Twydroid、Plume、Twicca 等)

非常感谢任何建议。

编辑:我目前的解决方法,我根本不喜欢:

public Intent findTwitterClient() {
final String[] twitterApps = {
// package // name
"com.twitter.android", // official
"com.levelup.touiteur", // Plume
"com.twidroid", // twidroyd
"com.handmark.tweetcaster", //
"com.thedeck.android" // };
Intent tweetIntent = new Intent();
tweetIntent.setType("text/plain");
final PackageManager packageManager = getPackageManager();
List<resolveinfo> list = packageManager.queryIntentActivities(
tweetIntent, PackageManager.MATCH_DEFAULT_ONLY);

for (int i = 0; i <twitterApps.length; i++) {
for (ResolveInfo resolveInfo : list) {
String p = resolveInfo.activityInfo.packageName;
if (p != null && p.startsWith(twitterApps[i])) {
tweetIntent.setPackage(p);
return tweetIntent;
}
}
}
return null;
}

最佳答案

Android 中没有官方的 twitter API,我强烈建议您使用类似 twitter4j 的东西实现自己的 API。

http://twitter4j.org/en/index.html

你应该知道点击时的用户ID和tweet ID等,然后你可以像这样使用twitter4j:

Twitter twitter = new TwitterFactory().getInstance();
twitter.updateStatus(new StatusUpdate("@USERNAME").inReplyToStatusId(STATUSID));

我不确定您是否已经在使用 twitter4j,如果您还没有,我强烈建议您这样做,因为查询推文非常简单。

如果您使用 twitter4j,您还需要在您的应用程序中进行身份验证,这很简单,但我不会详细介绍,因为您需要弹出一个身份验证窗口等。http://twitter4j.org/en/code-examples.html 中有一个示例。


如果你不想走 twitter4j 路线,不幸的是你的方式是我所知道的唯一方式。只需使用包管理器检查它们是否存在,否则通知用户。

关于android - 创建一个 "Tweet this button"仅在 Twitter 上共享信息并不容易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6835452/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com