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