为什么未能成功使新浪微博授权

pangbao 发布于 2013/07/25 20:17
阅读 115
收藏 0
package com.example.handmeeting;

import java.io.IOException;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import com.weibo.sdk.android.Oauth2AccessToken;
import com.weibo.sdk.android.Weibo;
import com.weibo.sdk.android.WeiboAuthListener;
import com.weibo.sdk.android.WeiboDialogError;
import com.weibo.sdk.android.WeiboException;
import com.weibo.sdk.android.api.FriendshipsAPI;
import com.weibo.sdk.android.api.StatusesAPI;
import com.weibo.sdk.android.net.RequestListener;

/**
 * 起始页面
 * @author Administrator
 *
 */
public class LoadActivity extends Activity {
    private Weibo weibo;
    private Oauth2AccessToken token;  
    private StatusesAPI  statues;
    private FriendshipsAPI friendship;
    private ListView login_way_lv;
    private Button test_use;
    String[] name = {"手机号登录","新浪微博登录","腾讯微博登录"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_load);
        weibo = Weibo.getInstance("3158219026", "http://www.airquality.com");
        
        login_way_lv = (ListView) findViewById(R.id.login_way_lv);
        login_way_lv.setAdapter(new MyAdapter(name));
        test_use = (Button) findViewById(R.id.test_use);
        login_way_lv.setOnItemClickListener(new MyItemClickListener());
        
    }
    /**
     *
     * @author Administrator
     *
     */
    class MyItemClickListener implements OnItemClickListener{

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            switch(position){
            case 0:
                Intent intent = new Intent(LoadActivity.this,MessageActivity.class);
                startActivity(intent);
                break;
            case 1:
                weibo.authorize(LoadActivity.this, new MyWeiboAuthListener());
                System.out.println("----------------ddddd---------->");
                break;
            case 2:
                break;
            }
        }
        
    }
    
    /**
     * @author Administrator
     *登陆方式listview的适配器
     */
    class MyAdapter extends BaseAdapter{
        
        LayoutInflater inflater =  LayoutInflater.from(LoadActivity.this);
        String[] data;
        public MyAdapter(String[] data){
            this.data = data;
        }
        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return data.length;
        }

        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return data[position];
        }

        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            View view =null;
            if(convertView == null){
                view = inflater.inflate(R.layout.login_way_lv_item, parent,false);
            }
            else{
                view = convertView;
            }
            ImageView icon = (ImageView) view.findViewById(R.id.way_icon);
            TextView wayName = (TextView) view.findViewById(R.id.way_name);
            switch (position) {
            case 0:
                
                wayName.setText(data[position]);
                icon.setImageResource(R.drawable.ico_book);
                break;
            case 1:
                wayName.setText(data[position]);
                icon.setImageResource(R.drawable.sina_blog);
                break;
            case 2:
                
                wayName.setText(data[position]);
                icon.setImageResource(R.drawable.qq_blog);
                break;

            }
            return view;
        }
        
    }
    
    class MyWeiboAuthListener implements WeiboAuthListener{

        @Override
        public void onCancel() {
            
        }

        @Override
        public void onComplete(Bundle data) {
            String accessToken = data.getString(Weibo.KEY_TOKEN);
            String expires = data.getString(Weibo.KEY_EXPIRES);
            String uid = data.getString("uid");
            token = new Oauth2AccessToken();
            token.setToken(accessToken);
            token.setExpiresIn(expires);
            if(token.isSessionValid()){
                statues = new StatusesAPI(token);
                friendship = new FriendshipsAPI(token);
                friendship.friends(Long.parseLong(uid),10 , 0, true,new RequestListener() {
                    
                    @Override
                    public void onIOException(IOException arg0) {
                        // TODO Auto-generated method stub
                    }
                    
                    @Override
                    public void onError(WeiboException arg0) {
                        // TODO Auto-generated method stub
                        
                    }
                    
                    @Override
                    public void onComplete(String arg0) {
                        // TODO Auto-generated method stub
                    }
                });
            }
            
        }

        
        @Override
        public void onError(WeiboDialogError arg0) {
            // TODO Auto-generated method stub
            Toast.makeText(getApplicationContext(), arg0.getMessage(),
                    Toast.LENGTH_LONG).show();
        }

        @Override
        public void onWeiboException(WeiboException arg0) {
            // TODO Auto-generated method stub
            
        }
        
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_load, menu);
        return true;
    }

}

加载中
返回顶部
顶部