QQ登录

来源:互联网 发布:linux who命令 编辑:程序博客网 时间:2024/04/30 04:43

点击事件

//获取授权平台                SHARE_MEDIA platform = SHARE_MEDIA.QQ;                mShareAPI.doOauthVerify(MainActivity.this, platform,                        umAuthListener);
//第三方登录回调    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        mShareAPI.onActivityResult(requestCode, resultCode, data);    }
复制代码
//回调监听器,负责监听授权是否成功    private UMAuthListener umAuthListener = new UMAuthListener() {        @Override        public void onComplete(SHARE_MEDIA platform, int action,                Map<String, String> data) {            Toast.makeText(getApplicationContext(), "Authorize succeed",                    Toast.LENGTH_SHORT).show();            //初始化UMShareAPI,然后进行用户信息获取            mShareAPI.getPlatformInfo(MainActivity.this, platform, new UMAuthListener() {                                @Override                public void onError(SHARE_MEDIA arg0, int arg1, Throwable arg2) {                    // TODO Auto-generated method stub                                    }                                @Override                public void onComplete(SHARE_MEDIA arg0, int arg1, Map<String, String> map) {                    System.out.println(map.toString());                    //获取信息成功后,从map集合中取出用户名和头像的地址                    String name = map.get("screen_name");                    String url = map.get("profile_image_url");                    System.out.println(name);                    System.out.println(url);                    //将用户名和头像的地址保存到SharedPreferences                    sp.edit().putString("screen_name", name).commit();                    sp.edit().putString("profile_image_url", url).commit();                    //给输入框设置值                    uname.setText(name);                    //吐司提示授权成功                    Toast.makeText(MainActivity.this, "授权登录成功", 0).show();                }                                @Override                public void onCancel(SHARE_MEDIA arg0, int arg1) {                    // TODO Auto-generated method stub                                    }            });                    }        @Override        public void onError(SHARE_MEDIA platform, int action, Throwable t) {            Toast.makeText(getApplicationContext(), "Authorize fail",                    Toast.LENGTH_SHORT).show();        }        @Override        public void onCancel(SHARE_MEDIA platform, int action) {            Toast.makeText(getApplicationContext(), "Authorize cancel",                    Toast.LENGTH_SHORT).show();        }    };
0 0