黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

7.騰訊微博Android客戶端開發——自動獲取驗證

系統 2533 0
通過前面的介紹,我們成功獲取了AccessToken ,但是在該過程中有個不好的地方:用戶輸入完 QQ 信息后,需要記錄驗證碼,然后返回至 Activity 手動輸入驗證碼,這將會使我們的程序顯得非常不友好。我們能不能讓程序自動獲取到平臺返回過來的驗證碼,而不需要用戶手動收入呢?通過參考其它資料,找到了兩種解決方法,本次和大家分享第一種解決方案。

在進行正題之前,我們先來做一個簡單的實驗。下面是我編寫的一個簡單的測試網頁,其中包含兩個鏈接,第一個鏈接比較容易理解,點擊后跳轉到百度,第二個鏈接如果在我們的 PC 瀏覽器點擊肯定會提示找不到網頁,但是放在 Android 系統中呢?下面我們來進行測試。

創建一個 Android 項目,其中 MainActivity 界面如下:

7.騰訊微博Android客戶端開發——自動獲取驗證碼(1)

同時“打開”按鈕進行如下操作:

運行模擬器。點擊“打開”按鈕,點擊“啟動 Android ”鏈接并沒有任何效果,在 Logcat 下輸出如下錯誤信息:


下再添加一個 <intent-filter>

添加完畢后當我們再次運行模擬器。點擊“打開”按鈕,點擊“啟動 Android ”鏈接后我們發現我們的又回到了 MainActivity 注意我們是通過瀏覽器啟動 Activity 。下面我們需要處理的就是獲取請求的路徑,也就是android://MainActivity?id=coolszy 。這時我們可以復寫 Activity 種的 onNewIntent() 方法,不熟悉的朋友可以百度了解該方法。我們都知道 Activity 之間信息的傳遞時通過 Intent 對象,因此通過該方法中的 Intent 對象,我們可以獲得請求的路徑,最終獲得請求的參數信息:

注:如果想讓該方法執行,我們需修改 AndroidManifest.xml 文件中 MainActivity 的配置,添加 android:lauchMode 屬性:

此時當我們再次運行模擬器。點擊“打開”按鈕,點擊“啟動 Android ”鏈接后我們發現我們的回到了 MainActivity 上,同時也得到了參數。

7.騰訊微博Android客戶端開發——自動獲取驗證碼(1)

我們在總結下這個實驗:這個實驗的主要目的是學習如何從瀏覽器種啟動一個 Activity ,首先我們要給相關的 Activity 添加一個 <intent-filter> ,其次通過復寫 onNewIntent() 方法得到返回信息,如果想要被 onNewIntent() 調用,我們還行給其 Activity 添加一個 android:lauchMode 屬性。

下面我們回歸到本次主題,在 OAuth 認證第一步種有個 oauth_callback 參數,作用是認證成功后瀏覽器會被重定向到這個 url 中,如果我們 url 設置為 http://www.baidu.com ,則會定位到 http://www.baidu.com ,同樣,如果我們把 url 設置為 android://MainActivity ,則會定位到 android://MainActivity 上,如果 Activity 再加上 <intent-filter> ,這時 MainActivity 就可以自動獲取到驗證碼,而不需要我們手動的輸入。

首先,設置我們的oauth_callback 參數:

注:android://MainActivity 之所以使用 encode()是應為我在測試時發現當我們傳遞的 url 包含有“ : ”、“ // ”等符號會返回 401 錯誤,因此在這里進行 encode()

其次,修改AndroidManifest.xml 文件中 MainActivity 配置:

同時給復寫 MainActivity onNewIntent() 方法,用于接收傳遞過來的參數信息:

至此我們的程序就能自動的獲取驗證碼,而不需要用戶手動的輸入。

課程下載地址: http://u.115.com/file/dn43kklr

文檔下載地址: http://download.csdn.net/source/3430433

源碼下載地址: http://u.115.com/file/aq2vc8m4

7.騰訊微博Android客戶端開發——自動獲取驗證碼(1)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論