在友盟分享的基础上集成微信登录
来源:互联网 发布:迅捷网络登录密码多少 编辑:程序博客网 时间:2024/06/12 00:10
转载请以链接形式标明出处:
http://blog.csdn.net/lxk_1993/article/details/52933357
本文出自:【lxk_1993的博客】;
刚开始做微信登录集成的时候,
项目已经集成了友盟分享,
有问iOS那边是怎么弄的,
是直接用友盟的还是微信的,
然后iOS那边说了一句用的是微信的,
然后我就默默地去微信开发平台去看文档去了,
说实话,
微信的文档真是差,
而且demo是很久之前的...
不知道多久没更新了,
我有看到一些代码的注释是12年写的....
按文档写了一些,
没成就直接不用微信的了,
直接去用友盟的....
友盟文档地址:http://dev.umeng.com/social/android/quick-integration
按友盟的文档弄好需要集成的文件之后,
然后再包名下加个wxapi的包,
然后创建一个WXEntryActivity,
继承自WXCallbackActivity.
public class WXEntryActivity extends WXCallbackActivity {}
然后再点击事件的时候调用下面的代码.
private void loginwithWechat() { if (!MyApplication.api.isWXAppInstalled()) { showToast(getString(R.string.msg_no_wechat)); } else { UMShareAPI mShareAPI = UMShareAPI.get(context); mShareAPI.doOauthVerify(getActivity(), SHARE_MEDIA.WEIXIN, umAuthListener);//授权 } }
private UMAuthListener umAuthListener = new UMAuthListener() { @Override public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) { //授权成功 然后获取用户信息 UMShareAPI mShareAPI = UMShareAPI.get(context); mShareAPI.getPlatformInfo(getActivity(), SHARE_MEDIA.WEIXIN, umAuthListener1); } @Override public void onError(SHARE_MEDIA platform, int action, Throwable t) { Toast.makeText(context, "授权失败", Toast.LENGTH_SHORT).show(); } @Override public void onCancel(SHARE_MEDIA platform, int action) { Toast.makeText(context, "授权取消", Toast.LENGTH_SHORT).show(); } };
private UMAuthListener umAuthListener1 = new UMAuthListener() { @Override public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) { String json = "{\"openid\":\"" + map.get("openid") + "\"," + "\"nickname\":\"" + map.get("screen_name") + "\"," + "\"sex\":\"" + map.get("gender") + "\"," + "\"province\":\"" + map.get("province") + "\"," + "\"city\":\"" + map.get("city") + "\"," + "\"country\":\"" + map.get("country") + "\"," + "\"headimgur\":\"" + map.get("profile_image_url") + "\"," + "\"privilege\":[]," + "\"unionid\":\"" + map.get("unionid") + "\"}"; //再调用你们后台写的微信登录相关的接口, } @Override public void onError(SHARE_MEDIA platform, int action, Throwable t) { Toast.makeText(context, "获取用户信息失败", Toast.LENGTH_SHORT).show(); } @Override public void onCancel(SHARE_MEDIA platform, int action) { Toast.makeText(context, "取消获取用户信息", Toast.LENGTH_SHORT).show(); } };
话说为什么友盟获取到用户的基本信息之后,
存到map中的key并不是微信返回的字段,
所以就有了上面那个json字符串拼接的代码...
上面代码写得比较烂,
可以再自行修改下.
有问题请留言.
如果你喜欢我的博客,请关注我.
0 0
- 在友盟分享的基础上集成微信登录
- Android集成友盟社会化分享功能----关键在微信分享(MD5的处理)
- 集成友盟第三方登录(qq、微信、微信朋友圈、新浪)、分享
- 集成微信登录和分享真的很简单
- 集成微信登录和分享真的很简单
- Android微信登录以及分享集成步骤
- Android微信登录以及分享集成步骤
- 第三方集成微信登录、分享等功能的sdk
- 解决集成微信第三方登录和分享回调的冲突
- 集成微信登录
- Android微信登录,在自有登录系统上集成。
- 微信分享的原生集成
- 集成微信的第三方分享
- 友盟集成第三方登录--微信、QQ实现
- 友盟集成微信分享的步骤和我踩过的坑
- 友盟集成新浪登录分享5668
- 友盟社会化分享微信登录签名错误
- 友盟集成微信分享,显示您的设备没有安装微信问题及解决办法
- 极光推送--总结
- 知道这些正则表达式,让你少些N行代码
- matplotlib:path effects
- 请编写一个c函数,该函数给出一个字节中被置为1的位的个数
- dubbo(provider,consumer)点到点直连配置
- 在友盟分享的基础上集成微信登录
- 英文专业名词收集
- intent传数据和EventBus各自用处
- web开发性能优化---UI界面篇
- Android 生命周期的注意点
- android 全屏去掉状态栏和横竖屏设定
- bzoj 3230 相似子串 后缀数组
- 解读Tapestry5.1——页面渲染
- html5的data-*属性