Android編程之微信SDK分享功能過(guò)程步驟詳細(xì)分析
本文實(shí)例講述了Android編程之微信SDK分享功能過(guò)程步驟詳細(xì)分析。分享給大家供大家參考,具體如下:
之前已經(jīng)分析過(guò)怎么用官方的demo分享微信信息了,在這里我就不再多說(shuō),其中關(guān)于在自己應(yīng)用分享說(shuō)得很簡(jiǎn)單,本文作者也是經(jīng)過(guò)一番折騰才弄成功,為了以后讓大家都少走彎路,決定在這里從頭到尾介紹怎么在自己的應(yīng)用中分享功能
注意:順序不能亂??!
1、建立自己的應(yīng)用 TestShareWX
(1)應(yīng)用包名是com.freeson.test,然后建立一個(gè)測(cè)試Activity,名字為T(mén)estActivity,里面有一個(gè)Button和EditText
(2)運(yùn)行程序,請(qǐng)記住此時(shí)你編譯運(yùn)行的時(shí)候,用的是android默認(rèn)的debug.keystore簽名的。
2、到官網(wǎng)http://open.weixin.qq.com/download/?lang=zh_CN下載開(kāi)發(fā)工具包,解壓,將libammsdk.jar復(fù)制到libs中,并將其add到build path中。
3、到官網(wǎng)http://open.weixin.qq.com/agreement登記你的應(yīng)用,
這里省去前面那些基本的操作 ,這里要注意以下的步驟。
其中有一步是要用個(gè)簽微信那名的apk工具對(duì)我們程序進(jìn)行簽名的,因?yàn)槲覀兊某绦蛞呀?jīng)安裝了,所以直接下載安裝,然后在手機(jī)里面的那個(gè)框框輸入包名(我這里是com.freeson.test,包名不能填錯(cuò)哦),點(diǎn)擊生成按鈕,這時(shí)候會(huì)生成一個(gè)md5值,將其輸入到登記頁(yè)面的框中(此時(shí)我們注意,如果我們的應(yīng)用程序還沒(méi)有安裝到手機(jī)中的話(huà),簽名工具會(huì)提示沒(méi)有找到相關(guān)包說(shuō)明的,這時(shí)候我們有意識(shí)到什么了嗎?)
再接下來(lái)輸入包名(我這里是com.freeson.test,包名不能填錯(cuò)哦),然后提交審核。接下來(lái)就是等微信的MM進(jìn)行審核了。
4、在步驟三中我們已經(jīng)拿到了appid,按照sdk Demo里面的提供方法在我們的TestActivity測(cè)試,OK一切成功,是否有感覺(jué)成就感呢。
5、碼農(nóng)的日子還真TM難過(guò)啊,我加班碼啊碼啊,日子一天天過(guò)去,項(xiàng)目開(kāi)發(fā)到最后了,經(jīng)過(guò)測(cè)試,一切正常,用正式簽名的文件對(duì)來(lái)正式打包。然后再測(cè)試。OH,my god,What Happened?。?!,為什么剛剛還能分享微信的,現(xiàn)在點(diǎn)擊居然沒(méi)有反應(yīng)了。頓時(shí)陷入惶恐中。。。。不要怕,我來(lái)告訴你為什么會(huì)這樣。
6、其實(shí)在第一步的時(shí)候,就已經(jīng)說(shuō)了,我們?cè)诠倬W(wǎng)申請(qǐng)的AppId的時(shí)候填寫(xiě)應(yīng)用程序簽名也是就是用debug.keystore生成的。然而我們此時(shí)在手機(jī)里面運(yùn)行的apk是用我們自己生成的簽名(xxx.keystore)進(jìn)行簽名的,兩個(gè)簽名都不一致,所以很理所當(dāng)然會(huì)導(dǎo)致分享失敗。因?yàn)槲⑿乓獙?duì)我們應(yīng)用進(jìn)行一個(gè)驗(yàn)證,就是通過(guò)這個(gè)簽名來(lái)認(rèn)證的。
7、別擔(dān)心,還有補(bǔ)救的方法,用我們正式那個(gè)簽名文件xxx.keystore對(duì)程序進(jìn)行正式的打包,然后安裝到手機(jī)中,然后再次運(yùn)行微信那個(gè)簽名apk工具,講我們的包名輸入到里面,重新生成一個(gè)MD5的簽名,然后到官網(wǎng)http://open.weixin.qq.com/agreement,找到你之前等級(jí)那個(gè)應(yīng)用,拉到最后,點(diǎn)擊修改,將剛剛生成的那個(gè)簽名輸入到里面,然后保存重新提交審核。
8、做完上面的事情之后,所要做的就是等剛剛重新提交的修改通過(guò)審核,要不然你的微信就不能分享成功。
9、某一天,登記的那個(gè)應(yīng)用通過(guò)審核了,運(yùn)行我們打包的程序,點(diǎn)擊微信,oh ,yes。發(fā)現(xiàn)能分享了,終于可以喘一口氣了。
備注:
在弄分享過(guò)程中,本文作者也遇到了很多問(wèn)題,在這里和大家說(shuō)說(shuō),讓大家以后稍微注意。
1、還是簽名問(wèn)題,一個(gè)項(xiàng)目,幾個(gè)人完成的話(huà),如果大家都是用各自默認(rèn)的debug.keystore進(jìn)行運(yùn)行的話(huà),在debug版本,微信分享功能肯定只有在申請(qǐng)的微信appid的那臺(tái)機(jī)器生產(chǎn)的apk才能正常。
2、關(guān)于微信分享信息結(jié)果反饋,這個(gè)要注意的是以下兩點(diǎn),要不要肯定是不會(huì)收到分享反饋的。
(1)這個(gè)Activity的名字一定是WXEntryActivity
(2)WXEntryActivity這個(gè)類(lèi)一定是建立在 應(yīng)用包名+wxapi包下(比如上述的工程,這時(shí)候包名應(yīng)該是com.freeson.test.wxapi)
寫(xiě)到這里,終于到結(jié)束了,本文作者也是折騰了蠻久才明白微信的認(rèn)證原理的。一句話(huà),理解簽名很重要。
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android自定義PopupWindow仿點(diǎn)擊彈出分享功能
- 關(guān)于Android實(shí)現(xiàn)簡(jiǎn)單的微信朋友圈分享功能
- Android編程實(shí)現(xiàn)調(diào)用系統(tǒng)分享功能示例
- Android實(shí)現(xiàn)分享功能
- 記錄Android微信分享功能的吐槽與思考
- Android 微信圖片分享功能
- 詳解Android系統(tǒng)中跨應(yīng)用數(shù)據(jù)分享功能的實(shí)現(xiàn)
- Android開(kāi)發(fā)中應(yīng)用程序分享功能實(shí)例
- Android ShareSDK快速實(shí)現(xiàn)分享功能
- Android 分享功能的實(shí)現(xiàn)
相關(guān)文章
Android ViewFlipper簡(jiǎn)單應(yīng)用
這篇文章主要為大家詳細(xì)介紹了Android ViewFlipper簡(jiǎn)單應(yīng)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01Android日期選擇器實(shí)現(xiàn)年月日三級(jí)聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了Android日期選擇器實(shí)現(xiàn)年月日三級(jí)聯(lián)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01Flutter加載圖片流程之ImageProvider源碼示例解析
這篇文章主要為大家介紹了Flutter加載圖片流程之ImageProvider源碼示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04android列表控件實(shí)現(xiàn)展開(kāi)、收縮功能
這篇文章主要為大家詳細(xì)介紹了android支持展開(kāi)/收縮功能的列表控件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11Jetpack?Compose實(shí)現(xiàn)對(duì)角線(xiàn)滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了如何利用Jetpack?Compose實(shí)現(xiàn)一個(gè)簡(jiǎn)單的對(duì)角線(xiàn)滾動(dòng)效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-02-02Android中Service與Activity之間通信的幾種方式
本篇文章主要介紹了Android中Service與Activity之間通信的幾種方式,Activity主要負(fù)責(zé)前臺(tái)頁(yè)面的展示,Service主要負(fù)責(zé)需要長(zhǎng)期運(yùn)行的任務(wù),具有一定的參考價(jià)值,有興趣的可以了解一下。2017-02-02Android進(jìn)程間通信(IPC)機(jī)制Binder簡(jiǎn)要介紹
本文主要介紹 Android進(jìn)程間通信(IPC)機(jī)制Binder簡(jiǎn)要介紹, 這里介紹了Binder機(jī)制如何實(shí)現(xiàn)進(jìn)程通信機(jī)制,有研究Android源碼的朋友可以看下2016-08-08Android?LineChart繪制折線(xiàn)圖的示例詳解
這篇文章主要為大家想想介紹了Android?RecyclerLineChart實(shí)現(xiàn)繪制折線(xiàn)圖的相關(guān)資料,有需要的朋友可以借鑒參考下,希望能夠有所幫助2023-03-03