1、友盟第三方平台注册,androidmainfest添加appkey
<meta-data android:name="UMENG_APPKEY" android:value="56a5848f67e58e51a400021a"/>2、添加相关的库
3.代码
UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.login");
private String AppID = "wx121e78a98dc358f0"; private String AppSecret = "18e1d3ff5a2851036d33838c4412d913";
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_new_login); addWXPlatform(); }
/** * @return * @功能描述 : 添加微信平台授权登录 */
private void addWXPlatform() { // 注意:在微信授权的时候,必须传递appSecret mController = UMServiceFactory.getUMSocialService("com.umeng.login"); // 添加微信平台,APP_ID、APP_SECRET都是在微信开放平台,移动应用通过审核后获取到的 UMWXHandler wxHandler = new UMWXHandler(NewLoginActivity.this, AppID, AppSecret); if(wxHandler.isClientInstalled()){ wxHandler.setRefreshTokenAvailable(false); wxHandler.addToSocialSDK(); }else{ Toast.makeText(NewLoginActivity.this, "请先安装微信客户端", Toast.LENGTH_SHORT).show(); } }case R.id.iv_wxLogin: login(SHARE_MEDIA.WEIXIN); break;case R.id.exit: logout(SHARE_MEDIA.WEIXIN);/** * 授权。如果授权成功,则获取用户信息 * * @param platform */ private void login(final SHARE_MEDIA platform) { mController.doOauthVerify(NewLoginActivity.this, platform, new SocializeListeners.UMAuthListener() { @Override public void onStart(SHARE_MEDIA platform) { Toast.makeText(NewLoginActivity.this, "授权开始", Toast.LENGTH_SHORT).show(); } @Override public void onError(SocializeException e, SHARE_MEDIA platform) { Toast.makeText(NewLoginActivity.this, "授权失败", Toast.LENGTH_SHORT).show(); } @Override public void onComplete(Bundle value, SHARE_MEDIA platform) { // 获取uid String uid = value.getString("uid"); Log.e("uid", uid); if (!TextUtils.isEmpty(uid)) { // uid不为空,获取用户信息 getUserInfo(platform); } else { Toast.makeText(NewLoginActivity.this, "授权失败...", Toast.LENGTH_LONG).show(); } } @Override public void onCancel(SHARE_MEDIA platform) { Toast.makeText(NewLoginActivity.this, "授权取消", Toast.LENGTH_SHORT).show(); } }); } /** * 获取用户信息 * * @param platform */ private void getUserInfo(SHARE_MEDIA platform) { mController.getPlatformInfo(NewLoginActivity.this, platform, new SocializeListeners.UMDataListener() { @Override public void onStart() { } @Override public void onComplete(int status, Map<String, Object> info) { if (info != null) { String nickname = (String) info.get("nickname"); String openid = (String) info.get("openid"); Log.e("openid", openid); String headimgurl = (String) info.get("headimgurl"); mSp.edit().putBoolean("isWxLogin", true).commit(); mSp.edit().putString("nickname", nickname).commit(); mSp.edit().putString("openid", openid).commit(); mSp.edit().putString("headimgurl", headimgurl).commit(); Intent intent = new Intent(NewLoginActivity.this, IndexActivity.class); startActivity(intent); finish(); } } }); }/** * 注销本次登陆 * @param platform */ private void logout(final SHARE_MEDIA platform) { mController.deleteOauth(NewLoginActivity.this, platform, new SocializeListeners.SocializeClientListener() { @Override public void onStart() { } @Override public void onComplete(int status, SocializeEntity entity) { mSp.edit().putString("nickname", "").commit(); mSp.edit().putBoolean("isWxLogin", false).commit(); mSp.edit().putString("headimgurl", "").commit(); mSp.edit().putString("openid", "").commit(); Intent intent = new Intent(NewLoginActivity.this,IndexActivity.class); startActivity(intent); finish(); // if (status != StatusCode.ST_CODE_SUCCESSED) { // Toast.makeText(LoginActivity.this, "退出失败", Toast.LENGTH_SHORT).show(); // } // Toast.makeText(LoginActivity.this, "退出当前账号", Toast.LENGTH_SHORT).show(); } }); }