Qt for Android 拉起微信登錄、分享等功能
先前寫(xiě)了Qt for Android 集成史上第一最全最簡(jiǎn)單的微信支付這篇博客后,發(fā)現(xiàn)還差點(diǎn)東西,就干脆趁今天把微信這部分的登錄,分享全部寫(xiě)完,來(lái)一個(gè)全家桶。
其實(shí)集成微信支付后,微信登錄是相當(dāng)簡(jiǎn)單了,首先安卓微信登錄的環(huán)境配置之類(lèi)的請(qǐng)轉(zhuǎn)移我的這篇博客仔細(xì)觀看,Android第三方登錄之微信登錄,看完這篇博客后,基本上是對(duì)于微信登錄的流程就很了解,我轉(zhuǎn)載的這篇博客,有個(gè)問(wèn)題,這邊我截圖指出一下:
這里有幾處需要指明,1、使用Android Studio,Qt for android我沒(méi)這樣用過(guò),一直采用的第二個(gè)方法Eclipse,然后在紅色箭頭的指向處,是最好不要通過(guò)那個(gè)下載,下載下來(lái)后只有上面的兩個(gè).jar包,至于文中的rebuild,應(yīng)該是用原生的Eclipse來(lái)編譯生成新的.jar,而我們一般是用Qtcreator。所以這邊也不清楚怎么才能達(dá)到Eclipse的編譯效果,所以我們采用的是直接將真正編譯好的.jar包直接放入libs這個(gè)文件夾中就ok了。
微信登錄相關(guān)SDK集成:點(diǎn)擊查看?點(diǎn)擊進(jìn)入后進(jìn)入下圖:
然后直接點(diǎn)擊箭頭所指的開(kāi)發(fā)工具包進(jìn)行下載,其中里面就是一個(gè)編譯好的.jar包,名稱(chēng)就是libammsdk.jar,這個(gè)包其實(shí)也就是微信支付的SDK包,都是集中于一體的。
然后導(dǎo)入到我們工程的Libs這個(gè)文件夾后就可以使用微信登錄功能。下面看具體代碼:
其中WxShareAndLoginUtils我已經(jīng)集成好的一個(gè)集登錄和分享于一體的一個(gè)工具類(lèi),
這就是剛才調(diào)用的具體實(shí)現(xiàn)。注冊(cè)成功后,就可以直接使用登錄功能,看下圖的實(shí)現(xiàn),
然后就是回調(diào)了,微信登錄的回調(diào)是在官方實(shí)現(xiàn)好的一個(gè)類(lèi)叫WXEntryActivity.java類(lèi)中,看下圖,具體的回調(diào)實(shí)現(xiàn)
回調(diào)后進(jìn)入getAccessToken拿到用戶的所有信息,這邊會(huì)涉及到一個(gè)url請(qǐng)求的問(wèn)題,我這邊使用到OkHttp3這個(gè)第三方類(lèi)下載方法,jar包名是okhttp-3.6.0.jar,所以各位可以自己去okhttp3官網(wǎng)查看,我以前也是自己去官網(wǎng)研究了才會(huì)用的, 官網(wǎng)demo都很簡(jiǎn)單,下面列出詳細(xì)的getAccessToken方法實(shí)現(xiàn)截圖:
上面的OkHttpUtils是我自己封裝好的,基于OkHttp3的網(wǎng)絡(luò)下載工具請(qǐng)求類(lèi)。基本上到這里微信登錄就算完美結(jié)束,相對(duì)于微信支付是簡(jiǎn)單了很多,就幾個(gè)函數(shù)的調(diào)用,流程也不過(guò)是注冊(cè)微信,然后調(diào)用微信登錄接口,回調(diào)拿數(shù)據(jù)。
接下來(lái)看下我的分享調(diào)用代碼截圖:
原理流程跟上面登錄一模一樣,所以直接看下WxUrlShare的方法實(shí)現(xiàn):
相對(duì)來(lái)說(shuō)只是比剛才調(diào)用登錄要設(shè)置的東西更多一點(diǎn),其實(shí)可以很簡(jiǎn)單的,我這邊這個(gè)分享類(lèi)是集中于文本、圖片、音樂(lè)等跳轉(zhuǎn)的url網(wǎng)頁(yè)分享,如果是靜態(tài)的分享就行代碼就ok了,所以為了方便,我實(shí)現(xiàn)了這樣一個(gè)類(lèi),調(diào)用了這個(gè)方法后,就不用像登錄那樣那么復(fù)雜的拿回調(diào),一般我都是屏蔽了回調(diào),因?yàn)橐鲭p語(yǔ)言,所以在java中不好做翻譯,直接屏蔽掉,就ok了。
好了,基本上登錄跟分享就是這么多,沒(méi)有太多復(fù)雜的東西,相對(duì)來(lái)說(shuō)簡(jiǎn)單太多。demo過(guò)段時(shí)間再貼出來(lái)。





