我正在尝试将图像和一些文本发布到我的 Twitter 状态,但我发现的所有教程都不起作用。每个人都说“登录失败”。这越来越荒谬了。任何人都可以帮助我或指出我正确的方向吗?请提出建议。
PS - 我添加了正确的秘密和密钥。
编辑
我正在使用现有的应用程序,只是想让它工作,以便我可以看到实现该功能的好方法是什么。我在此链接从 github 下载了该项目。
我使用了以下代码。
private void shareOnTwitter() {
try{
Intent shareIntent = findTwitterClient();
shareIntent.putExtra(Intent.EXTRA_TEXT, "added an item to iCollect(Android)! " + strMake + " " + strModel);
startActivity(Intent.createChooser(shareIntent, "Share"));
}catch(NullPointerException e){
Toast.makeText(context, "Twitter app not found", Toast.LENGTH_SHORT).show();
}
}
public Intent findTwitterClient() {
final String[] twitterApps = {
// package // name - nb installs (thousands)
"com.twitter.android", // official - 10 000
"com.twidroid", // twidroid - 5 000
"com.handmark.tweetcaster", // Tweecaster - 5 000
"com.thedeck.android" }; // TweetDeck - 5 000 };
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;
}
如果我没有所有包名,那将是一个问题,但目前就足够了。