在你的app應用裏增長微信分享的功能,能夠分享給好友、朋友圈。html
首先,看官方文檔這是必須的:android
官方文檔已經介紹的很詳細了,不過有一些地方,咱們在開發的時候須要注意。說明如下兩塊:api
1. 微信SDK Sample Demo源碼 怎麼build才能分享成功微信
Demo代碼目錄下有一個debug.keystore文件,在build的時候按照這個來簽名,demo編出來的app才能成功分享到微信。app
修改android默認簽名文件見下圖:windown->preferences函數
2. 咱們本身開發測試
1) 申請AppId,注意申請提交的app要用你最終打包的簽名。申請成功以後,app包名就不要變了,由於與appID是對應的。ui
2) 按照官方文檔中,新建WXEntryActivity,注意其所在的包必須是」app包名」+.wxapi。其實這個實現了IWXAPIEventHandler 這個接口,是被微信那邊來回調的。this
請求微信分享的調用api.sendReq在其餘Activity中都行,跟WXEntryActivity這個沒有關係。spa
3) 打包測試的時候,用最終要打包的簽名文件測試,這樣才能分享成功。(packagename、打包簽名的key、申請的appid這三者要對應,測試才能成功)
4) 在app中,咱們每每都要知道是否分享成功了,微信已經提供了回調。
回調後是進入到WXEntryActivity這個activity了,因此在onResp()函數中添加this.finish來退出這個activity,返回到咱們本身app的activity。
在WXEntryActivity的回調函數中,能夠相似這麼寫。
1 public void onResp(BaseResp resp) { 2 int result = 0 ; 3 4 switch (resp.errCode) { 5 case BaseResp.ErrCode.ERR_OK: 6 result = R.string.errcode_success; 7 break ; 8 case BaseResp.ErrCode.ERR_USER_CANCEL: 9 result = R.string.errcode_cancel; 10 break ; 11 case BaseResp.ErrCode.ERR_AUTH_DENIED: 12 result = R.string.errcode_deny; 13 break ; 14 default : 15 result = R.string.errcode_unknown; 16 break ; 17 } 18 19 Toast.makeText( this , result, Toast.LENGTH_LONG).show(); 20 21 // TODO 微信分享 成功以後調用接口 22 this .finish(); 23 }
另外,聲明Activity的時候,把activity透明.
1 < activity 2 android:name = " .wxapi.WXEntryActivity " 3 android:screenOrientation = " portrait " 4 android:theme = " @style/No_Background " 5 android:exported = " true " 6 />
以上是本身的一個簡單記錄。
參考文檔: