shareSdk第三方登录


纪录一下shareSdk第三方登录的主要代码
集成请参照Mob  
注意事项:
<activity
    android:name=".wxapi.WXEntryActivity"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:exported="true"
    android:screenOrientation="portrait"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" />
放在自己包名下边,我是和微信支付放在一个包名下,否者回调不了微信
签名使用正式版签名 我默认的Debug使用的也是正式版签名
  signingConfigs {
        release {
            keyAlias 'xxxx'
            keyPassword 'xxxx'
            storeFile file('C:/Users/admin/.android/aaaa.jks')
            storePassword 'xxx'
        }
    }
    buildTypes {
        release {
            // 不显示Log
//            buildConfigField "boolean", "LOG_DEBUG", "false"
            //混淆
            minifyEnabled true
            //Zipalign优化
            zipAlignEnabled true
            // 移除无用的resource文件
            shrinkResources true
            //前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            signingConfig signingConfigs.release
        }



case R.id.tv_qq_login:
    name = QQ.NAME;
    trustAuthorize(name);
    break;
case R.id.tv_wechat_login:
    name = Wechat.NAME;
    trustAuthorize(name);
    break;
case R.id.tv_microblog_login:
    name = SinaWeibo.NAME;

trustAuthorize(name);

/**
 * 第三方授权
 *
 * @param name 平台名字
 */
private void trustAuthorize(String name) {
    Platform pla = ShareSDK.getPlatform(LoginActivity.this, name);
    if (pla.isValid()) {
        pla.removeAccount();
    }
    pla.setPlatformActionListener(this);
    pla.SSOSetting(false);//设置false表示使用SSO授权方式
    pla.authorize();

}
  @Override
    public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
        String id = platform.getDb().getUserId();
      
//        Log.e("login", id);
//        Log.e("login", platform.getDb().getPlatformNname());
//        Log.e("login", platform.getDb().getToken());
//        Log.e("login", platform.getDb().getUserIcon());
//        Log.e("login", platform.getDb().getUserName());
//        Log.e("login", platform.getDb().getTokenSecret());
//        Log.e("login", platform.getDb().getUserGender());
//        Log.e("login", platform.getDb().getPlatformVersion() + "");

//	我的登录处理,这里写自己的登录逻辑
        trustLoginCallback(id, provider_code, id, userName, gender);
    }

    @Override
    public void onError(Platform platform, int i, Throwable throwable) {
        ToastUtils.TextToast(LoginActivity.this, "哎呀!授权出现问题,请稍后再试", Toast.LENGTH_SHORT);
    }

    @Override
    public void onCancel(Platform platform, int i) {
        ToastUtils.TextToast(LoginActivity.this, "马上登录账户,获取更多奖励", Toast.LENGTH_SHORT);
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值