【Android】微信登录,一篇文章搞定

本文详细介绍了如何在Android应用中集成微信登录功能,包括申请微信开放平台账号、自动签名、导入库、编写登录代码、创建回调Activity、处理回调响应,以及获取用户信息的全过程。同时,文中还提到了微信登录回调链的特殊性及其解决方案,并给出了友盟集成登录的替代方案。
摘要由CSDN通过智能技术生成

申请账号

微信开放平台申请账号
添加应用后在底部填写Android包名应用签名,填写Android的就完了,iOS咱不管
签名使用Gensignature获取

使用方法是把这个APP安装到手机,然后把要获取签名的APP使用发布版签名安装到同一个手机,然后输入包名点击下图的获取。

签名和包名填写到页面底部的这里↓


然后在页面顶部复制这个AppID,这个东西是不会变的,复制一次就行了,下面的AppSecret可用可不用。
因为微信的登录回调写得很智障,用户昵称头像之类的东东,你和后台,谁去管微信要,谁就要用到这个AppSecret

 

 

自动给debug包签名

如果不想每次都手动签名,可以使用gradle脚本自动签名。 在APPbuild.gradleandroid中加入

signingConfigs {
        debug {
            keyAlias 'aaa'//库中对应的签名文件
            keyPassword '123456'//签名密码
            storeFile file('D:/AndroidProjects/xxx.jks')//签名库文件路径和名称,强烈建议存在项目目录里
            storePassword '123456'//签名库密码
        }
    }

导入lib

跟我念:Gradle大法好!微信支付和微信登录都在这一个包里,导入就完事了

//微信SDK
implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'

登录代码(写到你的登录界面里)

先实例化一个微信API对象
Java

private IWXAPI api;

//实例化全局微信api对象,可以写到Activity的onCreate里也可以把整个对象放在Application里全局使用
        api = WXAPIFactory.createWXAPI(this, "你的AppID", false);
        api.registerApp("你的AppID");

Kotlin

lateinit var api: IWXAPI

//实例化全局微信api对象,可以写到Activity的onCreate里也可以把整个对象放在Application里全局使用
        api = WXAPIFactory.createWXAPI(this, "你的AppID", false)
        api.registerApp("你的AppID")

然后是登录方法
Java

private void login(IWXAPI api) {
        if (!api.isWXAppInstalled()) {
            ToastUtils.showShort("您还未安装微信客户端!");//这里是一句Toast,可以用你自己的Toast工具类替换
            return;
        }
        SendAuth.Req req = SendAuth.Req();
        req.scope = "snsapi_userinfo";
        req.state = "wechat_sdk_demo_test";
        api.sendReq(req);
        finish();
    }

Kotlin

private fun login(api: IWXAPI) {
        if (!api.isWXAppInstalled) {
            ToastUtils.showShort("您还未安装微信客户端!")//这里是一句Toast,可以用你自己的Toast工具类替换
            return
        }
        val req = SendAuth.Req()
        req.scope = "snsapi_userinfo"
        req.state = "wechat_sdk_demo_test"
        api.sendReq(req)
        finish()
    }

直接调用这个方法就可以请求微信登录,回调写的下面提到的Activtiy里。
对,没错,回调写到其他Activity里,是不是很扯淡?不知道他微信的SDK开发人员脑子里是不是进了硫酸(╯‵□′)╯︵┻━┻写出这种神仙操作逻辑。

创建wxapi的Activity

你的包名下建一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值