[英]Keep on Authorizing the user Twitter4j Android
我可以成功登錄Twitter並獲取用戶的詳細信息。 我的TwitterLoginActivity是我在其中輸入登錄代碼的類。 下面是代碼:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.twitter_login_layout);
Uri uri = getIntent().getData();
if (uri != null && uri.toString().startsWith(TWITTER_CALLBACK_URL)) {
String verifier = uri.getQueryParameter(URL_TWITTER_OAUTH_VERIFIER);
try {
AccessToken accessToken = twitter.getOAuthAccessToken(requestToken, verifier);
Log.e("Twitter OAuth Token", "> " + accessToken.getToken());
Intent i = new Intent(TwitterLoginActivity.this, MainActivity.class);
startActivity(i);
overridePendingTransition(0,0);
finish();
} catch (Exception e) {
Log.e("Twitter Login Error", "> " + e.getMessage());
}
}
loginToTwitter();
}
private void loginToTwitter() {
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY);
builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET);
Configuration configuration = builder.build();
TwitterFactory factory = new TwitterFactory(configuration);
twitter = factory.getInstance();
try {
requestToken = twitter.getOAuthRequestToken(TWITTER_CALLBACK_URL);
this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(requestToken.getAuthenticationURL())));
Log.e("twitterlogin", "logintotwitter-try");
} catch (TwitterException e) {
e.printStackTrace();
}
}
當我按下主頁按鈕並再次進入該應用程序時,它將打開一個窗口,並要求用戶再次授權該應用程序。
這很奇怪,因為我希望應用程序執行的操作是在按下主屏幕按鈕之前顯示最后一個視圖。 您能告訴我該怎么做或我在做什么錯嗎? 謝謝。
當令牌信息首次登錄時,您必須將其存儲在諸如共享首選項之類的文件中並保存。 然后在您的onCreate中,測試用戶之前是否已經登錄。 如果是這樣,請使用共享的首選項數據。
本教程跟着我。 http://www.androidhive.info/2012/09/android-twitter-oauth-connect-tutorial/
這是完整的android Twitter教程 ,您可以逐步進行操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.