@AfterViews void bindViews() { userService = RemoteServiceManager.getRemoteService(IRpcJobUservice.class); // options = new DisplayImageOptions.Builder().cacheInMemory(true) // .bitmapConfig(Bitmap.Config.RGB_565).cacheOnDisk(true) // .considerExifParams(true).build(); SystemServicesUtils.displayCustomTitle(getApplicationContext(), getSupportActionBar(), "账号管理"); processDialog = new ProcessDialog(this); unBindDialog = new GenericDialog(this, R.layout.unbind_account_dialog); unBindDialog.setCancelable(true); authHelper = new ThirdPartAuthHelper( this, new AuthResultCallback() { @Override public void onAuthResult(String openId, String authType) { if (isModifyUserPhoto) { // 为了拿到第三方头像而验证 // modifyUserPhoto_BindValue = openId; } else { // 为了绑定第三方账号而验证 bindOpenId = openId; // 绑定qq账号 if (Constants.LOGIN_TYPE_QQ.equals(authType)) { bindQQAccount(openId); } // 绑定weibo账号 if (Constants.LOGIN_TYPE_WEIBO.equals(authType)) { bindWeiboAccount(openId); } // getUserPhotoInThird(authType, openId); } } }); // 显示头像 if (userPhotoUrl != null) { editHeadBtn.setVisibility(View.VISIBLE); Picasso.with(this).load(userPhotoUrl).into(userPhotoImg); } else { editHeadBtn.setVisibility(View.GONE); } // 账号信息 if (!gotoModifyPhoto) { processDialog.show(); } findAccountsInfo(); if (gotoModifyPhoto) { findUserHeadPhoto(); } }
/** 绑定微博 */ @Click(R.id.weiboRowRl) void onBindWeiboAccount() { if (weiboOpenId != null) { unBindDialog.show(); unbindType = BUND_TYPE_WEIBO; } else { processDialog.show(); authHelper.requestSinaWeiboAuth(); } }
/** 绑定微信 */ @Click(R.id.wechatRowRl) void onBindWechatAccount() { if (wechatOpenId != null) { unBindDialog.show(); unbindType = BUND_TYPE_WECHAT; } else { processDialog.show(); authHelper.requestWechatAuth(this); } }
/** 绑定qq */ @Click(R.id.qqRowRl) void onBindQQAccount() { if (qqOpenId != null) { unBindDialog.show(); unbindType = BUND_TYPE_QQ; } else { processDialog.show(); authHelper.requestTencentQQAuth(); } }
/** 对话框按钮单击事件 */ public void onButtonClick(View view) { Log.i(TAG, "buttonClick"); switch (view.getId()) { case R.id.capturePhotoLL: modifyUserPhotoDialog.dismiss(); takePhoto(); break; case R.id.galleryPhotoLL: modifyUserPhotoDialog.dismiss(); openGallery(); break; case R.id.unBindBtn: unBindDialog.dismiss(); boolean shouldUnbind = false; if (mobile != null) { shouldUnbind = true; } else { if (qqOpenId != null && weiboOpenId != null && wechatOpenId != null) { shouldUnbind = true; } } if (shouldUnbind) { processDialog.show(); if (BUND_TYPE_QQ.equals(unbindType)) { unbindQQAccount(); } if (BUND_TYPE_WEIBO.equals(unbindType)) { unbindWeiBoAccount(); } if (BUND_TYPE_WECHAT.equals(unbindType)) { unbindWechatAccount(); } } else { Toast.makeText(this, "解除绑定失败,请先绑定手机号码并设置密码", Toast.LENGTH_SHORT).show(); } break; case R.id.cancelUnbindBtn: unBindDialog.dismiss(); break; case R.id.qqPhotoLL: onModifyUserPhotoInQQ(); break; case R.id.weiboPhotoLL: onModifyUserPhotoInWeibo(); break; } // modifyUserPhotoDialog.dismiss(); }
/** 获取第三方的头像 */ private void getUserPhotoInThird(String login_type, final String bindValue) { if (authHelper.isSessionValid(login_type)) { processDialog.show(); if (Constants.LOGIN_TYPE_QQ.equals(login_type)) { authHelper.getUserInfoInQQ( new IUiListener() { @Override public void onError(UiError arg0) { if (processDialog != null && processDialog.isShowing()) { processDialog.dismiss(); } } @Override public void onComplete(Object response) { JSONObject json = (JSONObject) response; Log.i(TAG, response + ""); if (json.has("figureurl_qq_2")) { try { // 获取第三方账户头像 String url = json.getString("figureurl_qq_2"); // 同时用获取的头像,创建账号 Log.i(TAG, url); bindThirdPhoto(BUND_TYPE_QQ, bindValue, url); } catch (JSONException e) { e.printStackTrace(); } } } @Override public void onCancel() { if (processDialog != null && processDialog.isShowing()) { processDialog.dismiss(); } } }); } if (BUND_TYPE_WECHAT.equals(login_type)) { // 同时用获取的头像,创建账号 bindThirdPhoto( BUND_TYPE_WECHAT, bindValue, SharedPreferencesUtil.getValue(this, Constants.HEAD_IMG_URL, "")); } if (Constants.LOGIN_TYPE_WEIBO.equals(login_type)) { authHelper.getUserInfoInWeibo( new com.sina.weibo.sdk.net.RequestListener() { @Override public void onWeiboException(WeiboException exc) { Log.e(TAG, exc.getMessage()); if (processDialog != null && processDialog.isShowing()) { processDialog.dismiss(); } } @Override public void onComplete(String response) { if (!TextUtils.isEmpty(response)) { User user = User.parse(response); Log.i(TAG, "微博头像 :" + user.profile_image_url); bindThirdPhoto("weiBo", bindValue, user.profile_image_url); // 同时用获取的头像,创建账号 } } }); } } }
/** 修改wechat头像 */ void onModifyUserPhotoInWechat() { modifyUserPhotoDialog.dismiss(); processDialog.show(); modifyUserPhotoInThird(wechat_photo_url); }
/** 修改qq头像 */ void onModifyUserPhotoInQQ() { modifyUserPhotoDialog.dismiss(); processDialog.show(); modifyUserPhotoInThird(qq_photo_url); }