欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

AndroidApp实现微信登录

发布时间:2024/5/8 71 豆豆
生活随笔 收集整理的这篇文章主要介绍了 AndroidApp实现微信登录 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

近期项目需要用到微信登录,在此记录一下吧

首先需要在微信开放平台上申请appid和appSecret,然后打开我们的安卓项目

第一步:在Android App Gradle中添加依赖

 

implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'

第二步:创建WXEntryActivity 类

WXEntryActivity extends Activity implements IWXAPIEventHandler

重写继承的接口的方法

  • @Override
  • public void onReq(BaseReq baseReq) {
  • }
  •  
  • //请求回调结果处理
  • @Override
  • public void onResp(BaseResp baseResp) {
  • }
  •  第三步:注册到微信

    要使你的程序启动后微信终端能响应你的程序,必须在代码中向微信终端注册你的 id。

    我这边放在微信登录按钮所在页面的onCreate()页面中,代码:

    api = WXAPIFactory.createWXAPI(this, AppConstants.WX_APPID, true); api.registerApp(AppConstants.WX_APPID);

    第四步:然后添加微信登录按钮的响应事件:

    if (!api.isWXAppInstalled()) {ToastUtils.showShort("您的设备未安装微信客户端"); } else {final SendAuth.Req req = new SendAuth.Req();req.scope = "snsapi_userinfo";req.state = "wechat_sdk_demo_test";api.sendReq(req); }

    第五步:接下来app会向微信请求,然后微信会返回信息到我们之前创建的WXEntryActivity类中,这边我们重写下WXEntryActivity的回调方法

    在onCreate()中重新获取下wxapi

    iwxapi = WXAPIFactory.createWXAPI(this, AppConstants.WX_APPID, false); iwxapi.handleIntent(getIntent(), this);

    重写onResp代码如下:

    //请求回调的处理 @Override public void onResp(BaseResp baseResp) {Log.e(TAG, "onResp: " + baseResp.errCode);//登录回调switch (baseResp.errCode) {case BaseResp.ErrCode.ERR_OK:String code = ((SendAuth.Resp) baseResp).code;Log.e(TAG, "onResp: "+code);//使用code请求服务器,获取accesstokenbreak;case BaseResp.ErrCode.ERR_AUTH_DENIED://用户拒绝授权ToastUtils.showShort("用户拒绝了此次授权");break;case BaseResp.ErrCode.ERR_USER_CANCEL://用户取消ToastUtils.showShort("用户取消了登录");break;default:finish();break;} }

    好了,用回调拿到的code去请求app后台接口,post到微信服务器拉取用户信息吧,然后返回给app用户数据即可

     

     

    总结

    以上是生活随笔为你收集整理的AndroidApp实现微信登录的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。