コード例 #1
0
  @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();
    }
  }
コード例 #2
0
 /** 绑定微博 */
 @Click(R.id.weiboRowRl)
 void onBindWeiboAccount() {
   if (weiboOpenId != null) {
     unBindDialog.show();
     unbindType = BUND_TYPE_WEIBO;
   } else {
     processDialog.show();
     authHelper.requestSinaWeiboAuth();
   }
 }
コード例 #3
0
 /** 绑定微信 */
 @Click(R.id.wechatRowRl)
 void onBindWechatAccount() {
   if (wechatOpenId != null) {
     unBindDialog.show();
     unbindType = BUND_TYPE_WECHAT;
   } else {
     processDialog.show();
     authHelper.requestWechatAuth(this);
   }
 }
コード例 #4
0
 /** 绑定qq */
 @Click(R.id.qqRowRl)
 void onBindQQAccount() {
   if (qqOpenId != null) {
     unBindDialog.show();
     unbindType = BUND_TYPE_QQ;
   } else {
     processDialog.show();
     authHelper.requestTencentQQAuth();
   }
 }
コード例 #5
0
  /** 对话框按钮单击事件 */
  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();
  }
コード例 #6
0
  /** 获取第三方的头像 */
  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);
                  // 同时用获取的头像,创建账号

                }
              }
            });
      }
    }
  }
コード例 #7
0
 /** 修改wechat头像 */
 void onModifyUserPhotoInWechat() {
   modifyUserPhotoDialog.dismiss();
   processDialog.show();
   modifyUserPhotoInThird(wechat_photo_url);
 }
コード例 #8
0
 /** 修改qq头像 */
 void onModifyUserPhotoInQQ() {
   modifyUserPhotoDialog.dismiss();
   processDialog.show();
   modifyUserPhotoInThird(qq_photo_url);
 }