李小璐隆胸过程,2011新年快乐365hddvd,小爸爸夏天的舅舅
前言
分享到微信朋友圈的功能早已经有了,但微信登录推出并不久,文档写的也并不是很清楚,这里记录分享一下。
正文
一、准备
注册、认证步骤自己来。微信开放平台:
二、 代码
2.1 唤起微信登录
参考官网文档:资源中心/移动应用开放/接入指南/android接入指南
private iwxapi mweixinapi; private void loginwithweixin() { if (mweixinapi == null) { mweixinapi = wxapifactory.createwxapi(this, weixin_app_id, false); } if (!mweixinapi.iswxappinstalled()) { //提醒用户没有按照微信 return; } mweixinapi.registerapp(weixin_app_id); sendauth.req req = new sendauth.req(); req.scope = weixin_scope; req.state = weixin_state; mweixinapi.sendreq(req); }
wexin_scope :这里填的snsapi_userinfo,用snsapi_base提示没权限。
weixin_state :用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验。
不出意外就能唤起微信登录了。
2.2 接收微信的请求及返回值
在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个wxentryactivity类,参考文档在androidmanifest.xml注册activity。
public class wxentryactivity extends activity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); handleintent(getintent()); } @override protected void onnewintent(intent intent) { super.onnewintent(intent); handleintent(intent); } private void handleintent(intent intent) { sendauth.resp resp = new sendauth.resp(intent.getextras()); if (resp.errcode == baseresp.errcode.err_ok) { //用户同意 } } }
注意:这里和微信的例子写的有点不一样,不过结果是一样的,这个能取到code等信息,测试返回数据如下:
e/wxentryactivity(14288): oncreate...key:_wxapi_sendauth_resp_state xxx e/wxentryactivity(14288): oncreate...key:_wxapi_sendauth_resp_token xxxxxxxxxxxxxxxxxxxxxxxxxxxxx e/wxentryactivity(14288): oncreate...key:_mmessage_apppackage com.tencent.mm e/wxentryactivity(14288): oncreate...key:_wxapi_baseresp_transaction null e/wxentryactivity(14288): oncreate...key:_wxapi_sendauth_resp_lang zh_cn e/wxentryactivity(14288): oncreate...key:_wxapi_command_type 1 e/wxentryactivity(14288): oncreate...key:_mmessage_content null e/wxentryactivity(14288): oncreate...key:_wxapi_sendauth_resp_country null e/wxentryactivity(14288): oncreate...key:_mmessage_checksum [b@426358e8 e/wxentryactivity(14288): oncreate...key:wx_token_key com.tencent.mm.openapi.token e/wxentryactivity(14288): oncreate...key:_wxapi_sendauth_resp_url xxxxxxxxxxx e/wxentryactivity(14288): oncreate...key:_mmessage_sdkversion 570490883 e/wxentryactivity(14288): oncreate...key:_wxapi_baseresp_errcode 0 e/wxentryactivity(14288): oncreate...key:_wxapi_baseresp_errstr null e/wxentryactivity(14288): oncreate...key:_wxapi_baseresp_openid null
xxx 部分的内容我已经隐掉了,拿到code就能拿到access——token了,后续依据文档调用即可。
这里你可以把wxentryactivity的theme弄成透明的,然后再弹起来一个progressdialog进行后续的操作(提交你自己的服务器),就能和现有的界面完全融合了。
三、注意:
3.1 获取签名必须用release包。(所以你会发现微信、微博sdk取得值是一样,所以如果已经有了微博的签名可以直接拷贝到微信使用)
以上对android 微信登录分享朋友圈的功能,有需要的朋友可以看下。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论