android url scheme qq,Android 集成QQ登录详细教程和Lorg/apache/http/conn/scheme/Sch处理

首先 现在SDK,目前只能通过Jar包的形式引入

下载地址

然后:

943cbffc4da38bf7ac1ce130f9a92662.png

然后下一步下一步 等创建好:

打开刚才下载的SDK

9c6f92d4c56b1cbc6adeddd272e6fe61.png

9bbac39edd94fa9586c7d924e162f54a.png

拷贝到项目的libs或者jniLibs  然后AddasLibra

然后在Manifest中

android:name="com.tencent.tauth.AuthActivity"

android:launchMode="singleTask"

android:noHistory="true">

android:name="com.tencent.connect.common.AssistActivity"

android:configChanges="orientation|keyboardHidden|screenSize"

android:theme="@android:style/Theme.Translucent.NoTitleBar" />

Code:

在需要集成的页面

mTencent = Tencent.createInstance(Constant.QQ_APP_ID, this.getApplicationContext());

登录方法

//qq登录

llQQLogin.setOnClickListener(v -> {

if (!mTencent.isSessionValid()) {

mTencent.login(this, "all", this);

}

});

需要实现:

implements IUiListener

Code::::::::::::::::::

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

Tencent.onActivityResultData(requestCode,resultCode,data,this);

}

/**

* 腾讯QQ登录回调

* */

@Override

public void onComplete(Object object) {

initOpenIdAndToken(object);

//获取用户信息

getUserInfo();

}

private void initOpenIdAndToken(Object object) {

JSONObject jb = (JSONObject) object;

try {

String openID = jb.getString("openid"); //openid用户唯一标识

String access_token = jb.getString("access_token");

String expires = jb.getString("expires_in");

mTencent.setOpenId(openID);

mTencent.setAccessToken(access_token, expires);

} catch (JSONException e) {

e.printStackTrace();

}

}

private void getUserInfo() {

QQToken token = mTencent.getQQToken();

UserInfo mInfo = new UserInfo(context, token);

mInfo.getUserInfo(new IUiListener() {

@Override

public void onComplete(Object object) {

JSONObject jb = (JSONObject) object;

try {

String name = jb.getString("nickname");

String figureurl = jb.getString("figureurl_qq_2"); //头像图片的url

ToastUtils.show(name);

} catch (Exception e) {

e.printStackTrace();

}

}

@Override

public void onError(UiError uiError) {

}

@Override

public void onCancel() {

}

});

}

@Override

public void onError(UiError uiError) {

}

@Override

public void onCancel() {

}

集成完可能会遇到:

NoClassDefFoundError: Failed resolution of: Lorg/apache/http/conn/scheme/Sch

经过测试一般会发生在9.0+的版本上

首先最好加入https网络权限:

请参考:

然后:

在Manifest中:加入

来源:oschina

链接:https://my.oschina.net/u/4298883/blog/4436927

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值