Android 微信第三方登录

4,102 阅读1分钟

微信api
open.weixin.qq.com/cgi-bin/sho…
1.申请你的AppID
注意:
包名正确
签名正确
微信提供的签名生成工具
把包名添加上去就可以获取签名
res.wx.qq.com/open/zh_CN/…
2.下载开发工具包
open.weixin.qq.com/cgi-bin/sho…
3.在项目中引入开发包


在项目中引入开发工具包


4.使用开发工具包
下面代码都是在MainActivity中
[1]注册微信

private static final String APP_ID="你的appid";
private IWXAPI api;
private void regToWx(){
    api= WXAPIFactory.createWXAPI(this,APP_ID,true);
    api.registerApp(APP_ID);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      //注册微信
      regToWx();
}

[2]登录微信

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //注册微信
    regToWx();
    findViewById(R.id.wechat_login).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //登录微信
            final SendAuth.Req req = new SendAuth.Req();
            req.scope = "snsapi_userinfo";
            req.state = "wechat_sdk_demo_test";
            api.sendReq(req);
        }
    });
}

5.下面是最重要的一步。。。。
[1]建包
注意:要在你的包名下新建 wxapi 包
你的包名.wxapi


你的包名.wxapi

[2]建立与微信通讯的activity
在wxapi下新建activity
WXEntryActivity
[3]在AndroidManifest.xml中添加activity注册


[4]在WXEntryActivity中继承Activity并实现IWXAPIEventHandler接口


实现IWXAPIEventHandler接口


重写onCreate方法
在onCreate中需要重新注册一下微信
要不微信不执行回掉


重写onCreate方法

实现onReq和onResp方法
在onResp中可以获取code
通过code参数加上AppID和AppSecret等,通过API换取access_token;
通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。
详情请参照
open.weixin.qq.com/cgi-bin/sho…


onReq和onResp方法