天天看點

Android微信登入以及分享內建步驟

原部落格:http://blog.csdn.net/vroymond/article/details/53422744

準備工作

在應用內建微信登入以及分享之前,我們在微信開放平台必須要個開發者賬戶

1.注冊完之後建立一個移動應用 

Android微信登入以及分享內建步驟
Android微信登入以及分享內建步驟

2.填寫對應應用包名以及簽名(md5)資訊,填寫完畢後,會有個稽核過程,一般第二天就通過了。 

Android微信登入以及分享內建步驟

(注:如何生成應用簽名以及檢視簽名:http://blog.csdn.net/vroymond/article/details/53228331) 

Android微信登入以及分享內建步驟

3.稽核成功後擷取到應用對應的AppId以及AppSercet 

Android微信登入以及分享內建步驟

(注:擷取微信的登入與支付等功能需要付費認證開發者資格)

內建微信分享

1.下載下傳jar包,拷進項目中,并建立一個類用于放置我們申請到的AppId以及AppSercet 

Android微信登入以及分享內建步驟

2.在項目包名下建立一個wxapi的包,并建立一個WXEntryActivity的類(微信分享以及登入必須要求),該類繼承activity并實作IWXAPIEventHandler接口,用于拿到分享的回調結果以及擷取登入回調的授權碼. 

Android微信登入以及分享內建步驟
Android微信登入以及分享內建步驟
Android微信登入以及分享內建步驟
Android微信登入以及分享內建步驟

在Androidmianfest.xml中注冊,并設定exported為true 

Android微信登入以及分享內建步驟

3.調起一個簡單的文本分享

1)注冊到微信,要使你的程式啟動後微信終端能響應你的程式,必須在代碼中向微信終端注冊你的id
           
  • 1
  • 2
Android微信登入以及分享內建步驟

(注:最好判斷目前手機是否有安裝微信應用,以及檢測目前手機微信版本是否是支援分享的微信版本) 

Android微信登入以及分享內建步驟
2)建立一個文本對象,發送請求到微信
           
  • 1
  • 2
Android微信登入以及分享內建步驟
3)在WXEntryActivity中的onResp根據errCode值對照分享結果: 
           
  • 1
  • 2
Android微信登入以及分享內建步驟

(注:運作時需注意應用簽名問題,運作項目的簽名必須跟注冊應用時填寫的簽名資訊保持一緻,才可調的起微信,為了友善測試,在build.gradle配置了debug使用了對外釋出版本的簽名資訊,如何配置檢視:http://www.cnblogs.com/niray/p/5242985.html) 

Android微信登入以及分享內建步驟

測試結果: 

Android微信登入以及分享內建步驟

4.圖檔分享,以及Url位址分享 

基本步驟跟文本分享一緻,隻是發送請求的内容不同(相同步驟省略)

1)發送圖檔請求
           
  • 1
  • 2
Android微信登入以及分享內建步驟
2)分享Url 
           
  • 1
  • 2
Android微信登入以及分享內建步驟

效果展示: 

Android微信登入以及分享內建步驟

內建微信登入

一般第三方應用內建微信登入是要拿到微信賬戶的資訊,作為第三方應用的快速登入 

微信登入分為三個步驟:

  • 調起微信登入之後擷取到授權碼code
  • 根據這個code再去請求微信提供的接口:擷取授權access_token 令牌和open_Id開發者辨別

    接口:(其中APPID SECRET CODE值分别對應的是申請到的appid app_secret和調起微信登入成趕回的code值) 

    https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

  • 根據這個令牌去通路微信提供的接口擷取到使用者個人資訊。

    接口:(其中ACCESS_TOKEN令牌和OPENID對應第二步擷取到的結果) 

    https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

1.調起微信登入,步驟跟微信分享類似,不同的是發送請求以及處理WXEntryActivity中的onResp的方法不同(相同步驟省略)

1)發送請求
           
  • 1
  • 2
Android微信登入以及分享內建步驟
2)回調結果處理
           
  • 1
  • 2
Android微信登入以及分享內建步驟
3)擷取使用者資訊
           
  • 1
  • 2
Android微信登入以及分享內建步驟

因為微信登入認證付費的原因就沒拿原來申請的測試,用本人之前項目微信賬戶測試 

效果展示: 

Android微信登入以及分享內建步驟

源碼位址(這個版本因微信賬戶申請原因微信登入不能通過,代碼是可行的):https://github.com/CTSN/Wechat2