#android #twitter
#Android #Twitter
Вопрос:
Вау, я пытался заставить простое приложение Twitter для Android работать, но это было невозможно. Я родом из среды iOS. В настоящее время я пытаюсь заставить их работать:
-
Приложение MyTwitter от Marakana. http://marakana.com/forums/android/examples/312.html
-
Демонстрация простого OAuth на Marakana. https://github.com/marakana/OAuthDemo
-
Twitter4j Пример itog_lab.https://github.com/itog/Twitter4j-android-Sample
-
Пример 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