您的位置:首页 > 移动开发 > 微信开发

微信第三方登录无法回调到onResp方法中

2014-10-30 12:06 435 查看
公司项目需要接入微信,真是几经周折,一直解决不了问题,参考微信开放平台,也突破不了,但是通过前期新浪的接入,我已得知,整个接入过程中,就这一个关口,只要突破这个关口,成功马上会向我走来,我现在所需要的就是要针对问题不断的研究,只有花时间,才能了解的更细更深,最后,终于不付有心人,成功接入微信登录,完成项目要求!

接入方法如下:

1:项目接入前的准备,需要到微信官方平台对应用进行申请,申请步骤可参照官方说明,需提供一张水印图,一张高清图,还需要填写项目包名和签名,请一定注意:签名需要用微信官方提供的签名文件获取,为长度32位的数字、字母组合,项目接入时,微信会根据此签名进行授权,申请费用需要300块钱,需要接入哪些接口,都需要开通,否则无法接入!


需要申请相关权限

2:申请通过后,会拿到微信官方提供的APP_ID和APP_SECRET,此字段需要在接入时用到

3:在自己的项目中导入或者新建WXEntryActivity

public class WXEntryActivity extends Activity implements IWXAPIEventHandler

api = WXAPIFactory.createWXAPI(this, Constants.weixinAPPID, false);

api.registerApp(Constants.weixinAPPID);

info=(TextView) findViewById(R.id.user_info);

findViewById(R.id.reg_btn).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

startActivity(new Intent(WXEntryActivity.this,

SendToWXActivity.class));

}

});

api.handleIntent(getIntent(), this);

4:向微信发送授权登录请求,同时会拉取授权页面,如下图:

SendAuth.Req req = new SendAuth.Req();

req.scope = "snsapi_userinfo";

req.state = "wechat_sdk_demo_test";

api.sendReq(req);

finish();


拉取授权登录页面

5:得到授权后可以获取token信息,用token去换取access_token和openid

System.out.println(info.expireDate+"==="+info.resultUrl+"==="+info.state+"==="+info.token+"==="+info.transaction+"==="+info.userName)

6:拿到access_token和openid后,就可以发送请求获取到用户信息了


获取到的用户信息
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: