android 微信登錄手把手教學獲取openid

最近項目用到微信支付,企業打款到我的微信帳戶餘額,須要我的在提交結算時受權微信登錄,以獲取openid,用於企業打款,許久沒有擼微信第三方的我嚇得趕忙把流程都記錄一下api


image.png

image.png

上圖基本都是資料填寫,申請支付權限,話就很少說了,下面先開始微信受權登陸吧bash

1.
image.png

在AndroidManifest 裏面WXEntryActivity註冊 此處注意實在報名下新建 wxapi文件夾 再新建 WXEntryActivity微信

2.WXEntryActivity的代碼ide

public class WXEntryActivity extends BaseActivity implements IWXAPIEventHandler {post

private IWXAPI wxAPI;微信支付

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    LogUtil.e("TAG","來了");
    //接收到登陸的intent傳遞handleIntent方法,處理結果
    wxAPI = WXAPIFactory.createWXAPI(this,Constants.APPID,true);
    wxAPI.registerApp(Constants.APPID);
    wxAPI.handleIntent(getIntent(), this);

}

@Override
protected void onNewIntent(Intent intent){
    super.onNewIntent(intent);
    wxAPI.handleIntent(getIntent(),this);
    LogUtil.e("TAG","WXEntryActivity onNewIntent");
}

@Override
public void onReq(BaseReq arg0) {
    LogUtil.e("ansen","WXEntryActivity onReq:"+arg0);
}

@Override
public void onResp(BaseResp resp){
    if(resp.getType()==ConstantsAPI.COMMAND_SENDAUTH){//登錄
        LogUtil.e("TAG", "微信登陸操做.....");
        SendAuth.Resp authResp = (SendAuth.Resp) resp;
        WeiXin weiXin=new WeiXin(1,resp.errCode,authResp.code);
        EventBus.getDefault().post(weiXin);
    }
    finish();
}
複製代碼

}this

3.在須要微信受權登陸的activity或者fragment裏面 :
private IWXAPI iwxapi;
在onCreate 初始化initView 再在裏面
iwxapi = WXAPIFactory.createWXAPI(getActivity(),Constants.APPID, true);
iwxapi.registerApp(Constants.APPID);
如圖:spa


image.png

4.點擊受權時調取toWxLogn:3d


image.png

5.在WXEntryActivity 能夠看出我用的是eventbus 將數據回傳的,因此下面須要定義接收code


image.png

6.獲取受權再獲取openid


image.png

7.補充兩個實體類


image.png
image.png

OK,到此微信受權登陸 獲取openId就結束了,微信支付還在擼碼中,好了以後再整理一下。

相關文章
相關標籤/搜索