Android微信之簡單文本分享(集成官方SDK-Android Studio)

目前官方還沒有Android Studio整合說明

一.前期準(zhǔn)備

1.帳號(hào)申請(qǐng)
https://open.weixin.qq.com/
首先登錄微信開放平臺(tái),注冊(cè)一個(gè)帳號(hào)
2.提交APP審核
為什么必須提交app審核呢?

請(qǐng)看下圖微信開放平臺(tái)接口使用權(quán)限
不提交審核,根本沒法用,無語了。。。
提交需要準(zhǔn)備:應(yīng)用名稱,應(yīng)用簡介,應(yīng)用圖片(2828,108108),應(yīng)用官網(wǎng)
android版本:需要提供應(yīng)用簽名,應(yīng)用包名
具體參考官網(wǎng),安裝步驟一步步來
這里需要注意幾點(diǎn):
第一:關(guān)于應(yīng)用簽名,需要把你的app打包成APK安裝到手機(jī),然后通過簽名工具,生成對(duì)應(yīng)的簽名
不得不說官方的簽名工具真的是給人用的嗎?

官方簽名工具截圖

我還是推薦使用新浪的簽名工具吧!

掃碼安裝

新浪簽名工具截圖

第二:如果每次打包都是采用相關(guān)的證書,那么生成的簽名是一樣的!?。?br> 下面就可以提交審核了,審核周期官方說是7天,一般1-2天就可以審核通過了!


審核通過

APPID還是非常有用的,后面會(huì)用到。
3.手機(jī)安裝微信客戶端
補(bǔ)充:由于本Demo只是簡單使用了文本分享API,如果你需要使用微信登錄API,那么就需要進(jìn)行開發(fā)者認(rèn)證(具體認(rèn)證流程請(qǐng)參考官網(wǎng)),非政府,事業(yè)單位,每年300,政府事業(yè)單位認(rèn)證免費(fèi)。
至此,前期所有的準(zhǔn)備工作完成,下面進(jìn)行代碼的整合。

二.整合說明

1.導(dǎo)入SDK Jar包

sdk下載地址:
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&lang=zh_CN

網(wǎng)頁截圖

導(dǎo)入到項(xiàng)目中

導(dǎo)入jar包.png

2.添加必要的權(quán)限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

3.向微信APP注冊(cè)你的id
要使你的程序啟動(dòng)后微信終端能響應(yīng)你的程序,必須在代碼中向微信終端注冊(cè)你的id。

注冊(cè)APP_ID

4.發(fā)起文本分享請(qǐng)求

 // 文本分享
 private void shareText() {   
 // 初始化一個(gè)WXTextObject對(duì)象   
 WXTextObject textObj = new WXTextObject();   
 textObj.text = "微信文本分享測試";   
 // 用WXTextObject對(duì)象初始化一個(gè)WXMediaMessage對(duì)象   
 WXMediaMessage msg = new WXMediaMessage();   
 msg.mediaObject = textObj;   // 發(fā)送文本類型的消息時(shí),title字段不起作用   
 // msg.title = "Will be ignored";   
 msg.description = "微信文本分享測試";   // 構(gòu)造一個(gè)Req   
 SendMessageToWX.Req req = new SendMessageToWX.Req();   
 req.transaction = buildTransaction("text"); // transaction字段用于唯一標(biāo)識(shí)一個(gè)請(qǐng)求   
 req.message = msg;   // 分享或收藏的目標(biāo)場景,通過修改scene場景值實(shí)現(xiàn)。   
 // 發(fā)送到聊天界面 —— WXSceneSession   
 // 發(fā)送到朋友圈 —— WXSceneTimeline   
 // 添加到微信收藏 —— WXSceneFavorite   
 req.scene = SendMessageToWX.Req.WXSceneTimeline;   
 // 調(diào)用api接口發(fā)送數(shù)據(jù)到微信   
 api.sendReq(req);  
 }

5.處理分享成功后的回調(diào)
如果你的程序需要接收微信發(fā)送的請(qǐng)求,或者接收發(fā)送到微信請(qǐng)求的響應(yīng)結(jié)果,需要下面操作
a.在你的包名相應(yīng)目錄下新建一個(gè)wxapi目錄,并在該wxapi目錄下新增一個(gè)WXEntryActivity類,該類繼承自Activity

微信回調(diào)處理類.png

特別說明:包名必須和中間平臺(tái)里填寫的包名保持一直,否則回調(diào)失敗
特別說明:包名必須和中間平臺(tái)里填寫的包名保持一直,否則回調(diào)失敗
特別說明:包名必須和中間平臺(tái)里填寫的包名保持一直,否則回調(diào)失敗
并在manifest文件里面加上exported屬性,設(shè)置為true,例如:

    <!-- 
     將WXEntryActivity設(shè)置為透明 android:theme="@android:style/Theme.Translucent"
     這樣就解決了,微信分享成功后,跳轉(zhuǎn)到指定WXEntryActivity,顯示微信分享信息,
     而給用戶視覺效果就在當(dāng)前界面。 
     -->

    <activity
    android:name="wxapi.WXEntryActivity"
    android:exported="true"
    android:theme="@android:style/Theme.Translucent" >
    </activity>

b. 實(shí)現(xiàn)IWXAPIEventHandler接口,微信發(fā)送的請(qǐng)求將回調(diào)到onReq方法,發(fā)送到微信請(qǐng)求的響應(yīng)結(jié)果將回調(diào)到onResp方法

注意

如果需要混淆代碼,為了保證sdk的正常使用,需要在proguard.cfg加上下面兩行配置:
-keep class com.tencent.mm.sdk.** {
*;
}

問題匯總1:

問題匯總2:通過Eclipse安裝APK,無法直接測試

建議直接生成APK后,進(jìn)行測試
至此,你已經(jīng)能使用微信Android開發(fā)工具包的API內(nèi)容了。如果想更詳細(xì)了解每個(gè)API函數(shù)的用法,請(qǐng)查閱 Android 平臺(tái)參考手冊(cè) 或自行下載閱讀微信SDK Sample Demo源碼。

源碼:

https://github.com/andli0626/wx_share_by-Android-Studio.git

效果:

參數(shù)資料:

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417751808&token=&lang=zh_CN
http://www.bkjia.com/Androidjc/979960.html
http://androidmaster.iteye.com/blog/1887876

image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容