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

Android微信登录,在自有登录系统上集成。

2016-11-26 22:16 363 查看
  微信登录的集成网上已经有很多攻略了,照着做就没问题了,最需要注意的就是签名,编译器会默认有一个签名的,与正式发布时的签名不一样,靠谱点的做法就是,下载微信的签名查看工具,将你的应用安装到手机上,打开签名查看工具,输入你应用的包名,获得的就是你当前应用的签名,将这个得到的签名填入微信获得appid,如果不大懂默认签名和发布签名的,只需要记得在提交需要发布的apk到应用商城前,将这个apk安装在手机上,再用这个签名查看工具查看下,看与你在微信控制台填入的签名是否一致,不一致请一定要更改。再重新获得appid,修改到代码中。

  接下来讲讲登录流程,集成了微信登录的都知道必须要有一个WXEntryActivity用于与微信进行通信,用于获取用户信息,写入到我们自己的服务器中,那我们自有一套登录Activity,微信登录不过是自有登录Activity下的一个按钮,我们总不能将我们的登录Activity就设置为WXEntryActivity用于通信,这样的话总感觉哪里不对。我们可以这样做,在我们的登录Activity中用户点击了微信登录,去请求微信,然后在WXEntryActivity获取到微信返回的数据,以及获取一系列我们想要的数据,我是用的okHttp,获取到后再将这些数据发送给我们的服务器,如果我们的服务器有数据返回,就按我们的逻辑来处理,处理完就可以跳转到我们的主页了。为显得好看,我们可以将WXEntryActivity设置为透明主题,android:theme="@android:style/Theme.Translucent",这样在我们授权后显示的就是我们登录Activity的样子,建议加个ProgressDialog之类的东西,免得用户不知道在做什么,然后需要finish掉我们的登录activity和WXEntryActivity,WXEntryActivity好说,直接在跳转到主页前finish掉就行了,那我们怎么在WXEntryActivity关闭掉登录activity呢?我使用的是这种方法,当然方法不止一种,可以做为参考。在登录activity中添加一个静态实例 public
static LoginActivity instance,在onCreate方法中初始化这个实例 instance = this 然后在WXEntryActivity finish掉前调用LoginActivity.instance.finish()就OK了。

  文笔实在是差劲,总感觉想表达的东西表达得不清楚,还望见谅,有什么问题欢迎讨论。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: