Android之解决新浪微博登陆一次以后不用登录的问题

做以下两个修改:
1. 在com.foreveross.view.AuthorizeActivity类作以下修改保存access_token。
             public  void  onComplete(Bundle values) {

    String token = values.getString("access_token");
            String expires_in = values.getString("expires_in");
            mToken.setText("access_token : " + token + "  expires_in: "
                    + expires_in);
            
            
            //必须加这句
            
//Utility.setAuthorization(new Oauth2AccessTokenHeader());
            
//保用shareperenced保存accesstoken
            SharedPreferences settings = getSharedPreferences("saveToken", 0);
            SharedPreferences.Editor editor = settings.edit();
            editor.putString("access_token", token);
            editor.commit();
            
            AccessToken accessToken = new AccessToken(token, CONSUMER_SECRET);
            accessToken.setExpiresIn(expires_in);
            Weibo.getInstance().setAccessToken(accessToken);
            
            Intent intent = new Intent();
            intent.setClass(AuthorizeActivity.this, HomePageActivity.class);
            startActivity(intent);
        }

 

2. 在com.foreveross.view.AuthorizeActivity类的onCreate方法作以下修改

SharedPreferences settings = getSharedPreferences("saveToken", 0);
                     if(settings.getString("access_token",  null) !=  null){
                        Utility.setAuthorization( new Oauth2AccessTokenHeader());  
                          
                        String token = settings.getString("access_token","");  
                  
                        AccessToken accessToken =  new AccessToken(token, CONSUMER_SECRET);       
                          
                        Weibo.getInstance().setAccessToken(accessToken);
                        Intent intent =  new Intent();
                        intent.setClass(AuthorizeActivity. this, HomePageActivity. class);
                        startActivity(intent);
                    }
                     else{
                    weibo.authorize(AuthorizeActivity. this,
                             new AuthDialogListener()); }

                     

你可能感兴趣的:(android)