点击事件
//获取授权平台 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(); } };