8.腾讯微博Android客户端开发——自动获取验证

系统 1694 0

上一节给大家讲解通过调用 android 系统自带的浏览器进行授权认证的,使用该种方式能很容易的完成认证,但是该种方式有个弊端,也就是如果使用第三方的浏览器如 UC 、天天等,输入完 QQ 账号信息点击“授权”后并不能再次跳转到 MainActivity ,导致我们的认证失败。这个问题应该是非常严重的问题,因为大部分用户都会选择第三方的浏览器作为默认的浏览器。本次给大家讲解自动获取验证码的第二种解决方案,克服上一种方法的缺陷。

8.腾讯微博Android客户端开发——自动获取验证码(2)

第二种解决方案的主角就是我们的 WevView 控件,我们可以使用 WebView 控件来进行浏览器的操作,而不使用系统或者第三方的浏览器。

1. 首先创建一个 Activity ,命名为 WebViewActivity ,该 Activity 种只包含一个 WevView 控件:

2. MainActivity 种添加一个 Button ,用于启动 WebViewActivity

3. WebViewActivity onCreate 添加如下代码,进行浏览器的初始化:

此时如果我们运行模拟器,点击按钮启动 WebViewActivity 按钮后,运行效果和启动浏览器差不多,我们输入 QQ 账户信息,点击“授权”,如果 callback 为空,则 Activity 会显示授权码。

8.腾讯微博Android客户端开发——自动获取验证码(2)

4. 下面我们需要处理的就是如何自动获取授权码。我们知道 WebView 是支持 JavaScript ,我们可以通过 JavaScript 进行授权码的获去,在 onCreate() 方法中添加如下代码

其中JavaScriptInterface类是进行js 处理的类:

getVerifier() 方法是通过正则表达式进行授权码的查找,该正则表达式是根据腾讯微博开放平台返回验证码的 html源文件进行设置:

至此我们就完成了如何通过WebView控件获取验证码的方法,解决了上一节的缺陷。


课程下载地址: http://u.115.com/file/e60px8bk

文档下载地址: http://download.csdn.net/source/3437652

源码下载地址: http://u.115.com/file/aq2vc2re

8.腾讯微博Android客户端开发——自动获取验证码(2)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论