继续授权用户Twitter4j Android

时间:2014-02-10 05:30:20

标签: android twitter4j

我可以成功登录Twitter并获取用户的详细信息。我的TwitterLoginActivity是我将登录代码放入twitter的类。以下是代码:

@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();
        }

    }

当我按下主页按钮并再次转到该应用程序时,它会打开一个窗口并要求用户再次授权该应用程序。

这很奇怪,因为我期望应用程序会在按下主页按钮之前显示最后一个视图。你能告诉我该做什么或我做错了什么吗?感谢。

2 个答案:

答案 0 :(得分:1)

您必须将令牌信息存储在共享首选项之类的内容中,并在第一次登录时保存。然后在onCreate中,测试用户是否已登录。如果是,请使用共享首选项数据。

这个教程告诉了我。 http://www.androidhive.info/2012/09/android-twitter-oauth-connect-tutorial/

答案 1 :(得分:1)

Here is the full android Twitter tutorial,您可以完成各个步骤。