码迷,mamicode.com
首页 > 微信 > 详细

Android App实现微信第三方授权登陆

时间:2016-03-17 21:20:40      阅读:496      评论:0      收藏:0      [点我收藏+]

标签:

  1. 下载官方SDK

  在微信开放平台,下载微信的官方SDK,以及签名生成工具。

  地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=&lang=zh_CN

技术分享

  2.导入官方SDK

把Android开发工具包里面的libammsdk导入到你的项目中如下图:

 技术分享

  这里要注意的是,应用签名不是在Eclispe 中查看,而是要用到我们第1步下载的签名生成工具。首先把签名生成工具安装在你的手机上,然后把你需要添加微信第三方登录功能的应用安装到你的手机上,最后按照签名工具的提示,在手机上生成应用的签名。

  如果这一步填的应用包名有错的话,将会导致你的应用无法调起微信。

  3.新建wxapi目录

  在你的项目的包名目录下新建一个wxapi目录,应用的包名可以在你的manifest文件里查看。注意,wxapi目录必须新建在你的包名目录下,否则微信返回的请求以及响应将会无法回调。

技术分享

 

  4.新建WXEntryActivity类

  在上一步新建的目录下新建一个WXEntryActivity.java类,继承Activity,实现IWXAPIEventHandler接口,如下图

技术分享

然后打开manifest,为这个类添加exported属性,设置为true:

技术分享

  5.注册到微信

  在代码中,把你的应用注册到微信。这一步可以在你的APP的第一个Activity中进行,我就是在第一个Activity中的onCreate()方法中注册的。

/*
     * 注册到微信
     */
    private void regToWX(){
        api = WXAPIFactory.createWXAPI(this, APP_ID, true);//此处的APP_ID替换为你在微信开放平台上申请到的APP_ID
        api.registerApp(APP_ID);
        
    }

  6.调起微信

  注册完后,就可以调起微信了,通过以下几行简单的代码就可以调起微信了:

/*
 * 向微信发送授权登陆的请求
 */
	private void sendAuth(){
	    final SendAuth.Req req = new SendAuth.Req();
	    req.scope = "snsapi_userinfo";
	    req.state = "none";
	    api.sendReq(req);
	}

  这一步分的代码也是比较简单的,你可以选择在你的登录界面上,注册一个Button,点击Button,就执行上面的代码,发送授权登录请求,拉起微信了。

  7.获取token

  最后,在WXEntryActivity中,重写onResp方法,获取token。注意,新版的微信SDK中,已经code这个属性改名为token了。但是官方文档还没有改过来,我折腾了一个晚上才发现的。token就是官方教程上的code,只是名字不同了而已。获得token后,就可以利用token来获得access_token,进行后面的操作。

@Override
public void onResp(BaseResp resp) {
		switch(resp.errCode){
		case BaseResp.ErrCode.ERR_OK:
			SendAuth.Resp newResp = (SendAuth.Resp) resp;
			String token=newResp.token;
                        break;
                default:
                    break;
        }                

  再强调一遍token就是官方文档中的code,文档中的String code=newResp.code;已经不能再用了,因为code已经改名为token,所以应该要用String token=newResp.token

  进行到这一步,微信第三方授权基本上已经完成了,接下来只要利用token来获取access_token,按照官方文档获取想要的信息就可以了。如果还有不清楚地地方,欢迎留言,共同学习,如果有错误的地方,也欢迎大家提出来。

技术分享

Android App实现微信第三方授权登陆

标签:

原文地址:http://www.cnblogs.com/qzyddd/p/5281832.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!