AndroidApp实现微信登录
生活随笔
收集整理的這篇文章主要介紹了
AndroidApp实现微信登录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
近期項目需要用到微信登錄,在此記錄一下吧
首先需要在微信開放平臺上申請appid和appSecret,然后打開我們的安卓項目
第一步:在Android App Gradle中添加依賴
?
implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
第二步:創建WXEntryActivity 類
WXEntryActivity extends Activity implements IWXAPIEventHandler重寫繼承的接口的方法
?第三步:注冊到微信
要使你的程序啟動后微信終端能響應你的程序,必須在代碼中向微信終端注冊你的 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实现微信登录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云帆显示服务器列表获取失败,云帆.apk
- 下一篇: android 蓝牙传输图片吗,如何使用