上一節(jié)給大家講解通過調用 android 系統(tǒng)自帶的瀏覽器進行授權認證的,使用該種方式能很容易的完成認證,但是該種方式有個弊端,也就是如果使用第三方的瀏覽器如 UC 、天天等,輸入完 QQ 賬號信息點擊“授權”后并不能再次跳轉到 MainActivity ,導致我們的認證失敗。這個問題應該是非常嚴重的問題,因為大部分用戶都會選擇第三方的瀏覽器作為默認的瀏覽器。本次給大家講解自動獲取驗證碼的第二種解決方案,克服上一種方法的缺陷。
第二種解決方案的主角就是我們的 WevView 控件,我們可以使用 WebView 控件來進行瀏覽器的操作,而不使用系統(tǒng)或者第三方的瀏覽器。
1. 首先創(chuàng)建一個 Activity ,命名為 WebViewActivity ,該 Activity 種只包含一個 WevView 控件:
2. 在 MainActivity 種添加一個 Button ,用于啟動 WebViewActivity :
3. 給 WebViewActivity 的 onCreate 添加如下代碼,進行瀏覽器的初始化:
此時如果我們運行模擬器,點擊按鈕啟動 WebViewActivity 按鈕后,運行效果和啟動瀏覽器差不多,我們輸入 QQ 賬戶信息,點擊“授權”,如果 callback 為空,則 Activity 會顯示授權碼。
4. 下面我們需要處理的就是如何自動獲取授權碼。我們知道 WebView 是支持 JavaScript ,我們可以通過 JavaScript 進行授權碼的獲去,在 onCreate() 方法中添加如下代碼
其中JavaScriptInterface類是進行js 處理的類:
getVerifier() 方法是通過正則表達式進行授權碼的查找,該正則表達式是根據騰訊微博開放平臺返回驗證碼的 html源文件進行設置:
至此我們就完成了如何通過WebView控件獲取驗證碼的方法,解決了上一節(jié)的缺陷。
課程下載地址: http://u.115.com/file/e60px8bk
文檔下載地址: http://download.csdn.net/source/3437652
源碼下載地址: http://u.115.com/file/aq2vc2re
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
