一、Android第三方應用接入微信開放平台的注意事項:
1. 到微信開放平台官網申請正式的AppID(需通過審核),要填寫包名、app簽名的md5值。至於如何獲取app簽名信息,官方提供簽名包apk
(http://open.weixin.qq.com/download/sdk/gen_signature.apk)
2. 如果只是測試或debug,可以用臨時AppID(到官網申請但不需要通過審核)。
二、如何運行SDK Demo?(“分享到好友”之後沒反應)自己的App呢?
1. Eclipse打開Window->Preferences,在彈出的對話框中,選擇Android目錄下的Build,指定Custom debugkeystore選項的路徑為sdk demo工程目錄中的debug.keystore文件。
2. 在自己的App裡,記得把debugkeystore改回來(改成當前用戶目錄)。並且,debug和正式App的AppID記得切換。
三、如何App中實現微信分享?
1. 申請AppID。
2. 下載微信sdk庫:libammsdk.jar。
3. 將jar放入app\libs\。
4. 代碼中:createWXAPI和registerApp來注冊到微信,isWXAppInstalled和isWXAppSupportAPI來判斷微信客戶端是否安裝及安裝的版本是否支持微信開放平台,isTimeLineSupportedVersion用於判斷微信是否支持朋友圈。
四、如何讓我們的App接收到微信的反饋?
1. 在你的包名相應目錄下新建一個wxapi目錄,並在該wxapi目錄下新增一個WXEntryActivity類,該類繼承自Activity,並在manifest文件裡面加上exported屬性,設置為true。
2. 實現IWXAPIEventHandler接口,微信發送的請求將回調到onReq方法,發送到微信請求的響應結果將回調到onResp方法。
3. 在WXEntryActivity中將接收到的intent及實現了IWXAPIEventHandler接口的對象傳遞給IWXAPI接口的handleIntent方法。當微信發送請求到你的應用,將通過IWXAPIEventHandler接口的onReq方法進行回調,類似的,應用請求微信的響應結果將通過onResp回調。
五、其他注意事項:
1. 是不是必須在WXEntryActivity裡發送sendReq及WXEntryActivity必須被調用?
WXEntryActivity可以不被調用,在sendReq後微信有響應就會到WXEntryActivity的onReq,所以一般onReq裡Toast發送結果後需要finish(),這樣直接返回到發送sendReq的UI(用戶感覺不到有WXEntryActivity的存在)。
2. 如何發送到好友與朋友圈?
a. 發送到好友:SendMessageToWX.Req的scene成員,填WXSceneSession。
b. 發送到朋友圈:SendMessageToWX.Req的scene成員,填WXSceneTimeline(微信4.2以上支持,如果需要檢查微信版本支持API的情況, 可調用IWXAPI的getWXAppSupportAPI方法,0x21020001及以上支持發送朋友圈),那麼消息會發送至朋友圈。
c. scene默認值為WXSceneSession。
3. 如何發送圖片同時顯示title及description?
SDK分享信息發送WXMediaMessage中包含WXImageObject,發送後沒有顯示title和description,這是由於微信客戶端對話框中對圖片只會呈現其縮略圖,標題和描述文字會自動忽略。
替代辦法:
a. 對於分享到好友:以WXFileObject代替WXImageObject,在發送之前截圖保存到sdcard,然後發送時設置setFilePath,這樣在微信接收方點擊縮略圖後會提示是否接收文件並顯示。
b. 對於分享到朋友圈:由於朋友圈不支持文件傳輸,只能發送WXImageObject,title及description無法顯示。
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11