【问题标题】:Android Twitter App - none workAndroid Twitter 应用程序 - 没有工作
【发布时间】:2011-05-26 10:35:19
【问题描述】:

哇,我一直在尝试让一个简单的 Android Twitter 应用程序运行,但这是不可能的。我来自 iOS 背景。我目前正在尝试使这些工作:

  1. 来自 Marakana 的 MyTwitter 应用程序。 http://marakana.com/forums/android/examples/312.html

  2. Marakana 简单 OAuth 演示。 https://github.com/marakana/OAuthDemo

  3. Twitter4j 示例 itog_lab。 https://github.com/itog/Twitter4j-android-Sample

  4. AndroidTwitter 示例。 http://www.android10.org/index.php/articleslibraries/291-twitter-integration-in-your-android-application#josc329

我总是收到未经授权的错误,无法请求访问令牌。有人有过这种经历吗?

【问题讨论】:

标签: android twitter


【解决方案1】:

如果您对使用 Intent 调用 Twitter 感到满意(这意味着您需要已经安装了 Twitter 应用程序才能工作),您可以通过以下方式访问 Twitter:

try{
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.putExtra(Intent.EXTRA_TEXT, "It's a Tweet!" + "#MyApp");
    intent.setType("text/plain");
    final PackageManager pm = getPackageManager();
    final List<?> activityList = pm.queryIntentActivities(intent, 0);
    int len =  activityList.size();
    for (int i = 0; i < len; i++) {
        final ResolveInfo app = (ResolveInfo) activityList.get(i);
        if ("com.twitter.android.PostActivity".equals(app.activityInfo.name)) {
            final ActivityInfo activity=app.activityInfo;
            final ComponentName name=new ComponentName(activity.applicationInfo.packageName, activity.name);
            intent=new Intent(Intent.ACTION_SEND);
            intent.addCategory(Intent.CATEGORY_LAUNCHER);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
            intent.setComponent(name);
            intent.putExtra(Intent.EXTRA_TEXT, "It's a Tweet!" + "#MyApp");
            startActivity(intent);
            break;
        }
    }
} catch(final ActivityNotFoundException e) {
    Log.i("Twitter intent", "no twitter native", e );
}

【讨论】:

  • Robert-我下载了一个 twitter4j 示例,但我会试试你发布的那个。菲尔-你的意思是“我是否满足于使用连接意图?我还能如何连接?至于否决票,我不知道是谁给的……我什至不知道你可以分配否决票。
  • @mars,如果你已经安装了 twitter 应用程序,你应该可以使用上面的代码,而不是用 OAUTH 或其他身份验证方式大惊小怪。
  • 你的意思是如果我在我的安卓手机上安装了 twitter 应用程序?我没有安卓手机,我在 Eclipse 模拟器中测试所有内容。我终于让 marakana OAuthDemo 使用它附带的密钥和秘密,它属于应用程序制作人 Marko Gargenta
  • 是的,这必须在安卓手机上。无论如何,很高兴听到你有一些工作。
  • 如果您在发推文之前打开了 twitter 应用程序,这将不起作用...它将带您直接进入应用程序,但没有对话框。
【解决方案2】:

如果您遇到麻烦,我的示例有效 http://schwiz.net/blog/2011/using-scribe-with-android/ ping 我。

【讨论】:

  • 应用程序意外关闭...我在 sdk 10 上运行它
  • @mars 你设置了你的 api 密钥/秘密吗?否则会抛出异常。我已经在 sdk 10 上运行了这个项目,没有任何问题。如果您仍然遇到问题,请随时在此处或我的博客上通过电子邮件向我发送 stacktrace 或 pastebin。 gl
猜你喜欢
  • 2013-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-13
  • 2011-01-05
  • 2013-08-12
相关资源
最近更新 更多