Приложение Twitter для Android — не работает

#android #twitter

#Android #Twitter

Вопрос:

Вау, я пытался заставить простое приложение Twitter для Android работать, но это было невозможно. Я родом из среды iOS. В настоящее время я пытаюсь заставить их работать:

  1. Приложение MyTwitter от Marakana. http://marakana.com/forums/android/examples/312.html

  2. Демонстрация простого OAuth на Marakana. https://github.com/marakana/OAuthDemo

  3. Twitter4j Пример itog_lab.https://github.com/itog/Twitter4j-android-Sample

  4. Пример Android twittersample. http://www.android10.org/index.php/articleslibraries/291-twitter-integration-in-your-android-application#josc329

Я всегда получаю несанкционированную ошибку, не удается запросить токен доступа. У кого-нибудь был такой опыт?

Комментарии:

1. Вы просмотрели весь пример кода библиотеки twitter4j? Просто используйте это, и вы на пути к успеху. twitter4j.org/en/code-examples.html

Ответ №1:

Если вас устраивает вызов Twitter с использованием Intent (это означает, что для его работы вам понадобится уже установленное приложение 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 );
}
  

Комментарии:

1. Роберт- Я скачал образец twitter4j, но попробую тот, который вы опубликовали. Фил- что ты имеешь в виду, говоря «доволен ли я намерением подключиться?» Как еще я мог подключиться? Что касается отрицательного отзыва, я понятия не имею, кто его дал… Я даже не знал, что вы можете назначать голоса с понижением.

2. @mars, если у вас уже установлено приложение Twitter, вы должны иметь возможность использовать приведенный выше код вместо того, чтобы возиться с OAUTH или другими средствами аутентификации.

3. Вы имеете в виду, установлено ли у меня приложение Twitter на моем телефоне Android? У меня нет телефона Android, я тестирую все в эмуляторах eclipse. Я наконец-то заставил marakana OAuthDemo работать с ключом и секретом, которые к нему прилагаются, который принадлежит производителю приложения Марко Гардженте

4. да, это должно быть на телефоне Android. В любом случае, рад слышать, что у вас что-то работает.

5. это не сработает, если вы открыли приложение Twitter перед отправкой твита… оно приведет вас прямо к приложению, но без диалогового окна.

Ответ №2:

мой пример работает http://schwiz.net/blog/2011/using-scribe-with-android напишите мне, если у вас возникнут проблемы.

Комментарии:

1. приложение закрывается unexpectedly…im запускаю его на sdk 10

2. @mars вы установили свой API-ключ / секрет? В противном случае будет выдано исключение. Я запустил проект на sdk 10 без каких-либо проблем. Если у вас по-прежнему возникают проблемы, не стесняйтесь, напишите мне stacktrace или вставьте его сюда или в мой блог. gl