這幾天開發要用到微信受權的功能,因此就研究了一下。但是微信開放平臺接入指南里有幾個地方寫的不清不楚。在此總結一下,以便須要的人。java
不少微信公衆平臺的應用若是移植到app上的話就須要微信受權登錄了。android
一、首先須要註冊微信開放平臺,而後獲取開發者認證。審批經過以後再建立一個移動應用一樣仍是須要審批。經過以後就能夠給這個應用添加微信受權登錄以及相應功能了。這裏移動應用審批經過以後會給你兩個參數,一個叫AppId,一個叫Secret。這兩個參數在後面用的到。api
補充:寫這篇文章有一段時間了。在這補充下你們容易出問題的幾個地方。微信
1)你們在建立移動應用的時候注意的地方。app
上面圖片是申請移動應用時候的第二步,令我想不明白的是不少開發者還不知道應用包名和應用簽名指的是什麼。。。。。。。。微信公衆平臺
包名是你manifest文件裏面頂層的那個package啊。ide
就是這個東西啊,這個東西啊少年。工具
2)應用簽名。好吧我真不想囉嗦了。應用簽名就是你同過ks文件獲得的那個應用簽名。若是你不知道如何得到這個簽名。請按下面步驟走:post
1,先把你的應用程序打包安裝在你的手機上。學習
2,下載官網上提供的簽名生成工具並安裝在手機上。下面這個地方下載:
三、打開簽名生成工具輸入你的app的包名就生成你的應用簽名了。
補充完畢。。。(對於上面這點補充我真不想多回答了。PS:個人暱稱留下了QQ我很無辜啊。。。你們有問題上班時間別問好嗎,哥心軟不忍心拒絕啊,尤爲有妹子問的時候啊。。。墳蛋)
二、在須要微信受權的項目中導入微信的第三方JAR包,這個在微信開放平臺接入指南裏面說的很清楚,再也不囉嗦。
三、註冊到微信:
這一步也沒什麼課解釋的,至關於兩人要聯繫的時候先打通了電話,而後開始溝通。這一步在須要和微信通話的界面以前註冊了就行。個人是在歡迎界面註冊的。
四、開始和微信通話
首先和微信通話以前,要在項目代碼中新建一個Activity,並提供相應的回調方法供微信調用。可是這一點在接入指南上寫的就不清不楚致使我浪費了好幾個小時。一下內容是我在接入指南里複製來的。
a. 在你的包名相應目錄下新建一個wxapi目錄,並在該wxapi目錄下新增一個WXEntryActivity類,該類繼承自Activity(例如應用程序的包名爲net.sourceforge.simcpux,則新添加的類以下圖所示)
並在manifest文件裏面加上exported屬性,設置爲true。
必定要注意上面這句話:在你的包名相應目錄下新建一個wxapi目錄。說的是在包名相應目錄下建一個wxapi目錄。也就是是包名目錄的子目錄,千萬不要直接在src下面建個包就完了。(粗心這毛病害死人啊。)
而後再這個包下面建一個類:
而後開始和微信通話,
請求如下連接獲取access_token:
不過在開發的過程當中要注意一下debug keystore。就是Window->Preferences->Android->Build裏面。
這裏,咱們要添加Custom debug keystore。上面的那個debug keystore不會和微信通訊。而咱們添加的這個keystore 也要符合一些規範因此要改一改。
那就是keystore的密碼改成:android
keytool -storepasswd -keystore my.keystore (在cmd裏執行的命令)
其中,my.keystore是要修改的證書文件,執行後會提示輸入證書的當前密碼,和新密碼以及重複新密碼確認。這一步須要將密碼改成android。
alias的名稱要改成:androiddebugkey
keytool -changealias -keystore my.keystore -alias my_name -destalias androiddebugkey
這一步中,my_name是證書中當前的alias,-destalias指定的是要修改成的alias,這裏按規矩來,改成androiddebugkey!這個命令會前後提示輸入keystore的密碼和當前alias的密碼。
keystore的alias密碼也改成:android
keytool -keypasswd -keystore my.keystore -alias androiddebugkey
這一步執行後會提示輸入keystore密碼,alias密碼,而後提示輸入新的alias密碼,一樣,按規矩來,改成android!
這樣修改完keystore以後把這個keystore放到上面ADT的custom debug keystore裏面。就能夠直接調試微信相關的功能了。大概就這幾點吧。