Android App跳转微信小程序教程
最近,有一個(gè)App跳轉(zhuǎn)小程序的需求,參考微信的官方文檔,接入還是比較簡單的,不過中途遇到了一個(gè)坑,所以記錄一下。
首先,需要登錄微信開放平臺(tái) 微信開放平臺(tái),創(chuàng)建一個(gè)移動(dòng)應(yīng)用,然后系統(tǒng)會(huì)返回一個(gè)appid。
需要說明的是,不管是跳轉(zhuǎn)微信小程序還是微信登錄、分享,都需要先在微信開放平臺(tái)注冊appId。然后,就可以參考 Android APP拉取小程序的例子,在WebView中調(diào)用下面的代碼(可以是直接調(diào)用,也可以是協(xié)議攔截)。
String appId = "wxd930ea5d5a258f4f"; // 填移動(dòng)應(yīng)用(App)的 AppId,非小程序的 AppID IWXAPI api = WXAPIFactory.createWXAPI(context, appId);WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req(); req.userName = "gh_d43f693ca31f"; // 填小程序原始id req.path = path; ////拉起小程序頁面的可帶參路徑,不填默認(rèn)拉起小程序首頁,對于小游戲,可以只傳入 query 部分,來實(shí)現(xiàn)傳參效果,如:傳入 "?foo=bar"。 req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可選打開 開發(fā)版,體驗(yàn)版和正式版 api.sendReq(req); 復(fù)制代碼需要重點(diǎn)提醒的是,上面appId是前面我們注冊的移動(dòng)應(yīng)用的appId,而不是小程序的appId。在剛開始接入的時(shí)候,就遇到了一個(gè)坑,“bad param”的錯(cuò)誤。如果遇到“bad param”的錯(cuò)誤,那多半是appId的問題。
userName則是小程序原始id,可以打開小程序,然后查看更多資料進(jìn)行查看,比如:
如果需要回掉結(jié)果,還需要在WXEntryActivity中重寫onResp方法。
public void onResp(BaseResp resp) {if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp;String extraData =launchMiniProResp.extMsg; //對應(yīng)小程序組件 <button open-type="launchApp"> 中的 app-parameter 屬性} } 復(fù)制代碼當(dāng)然,為了代碼邏輯的健壯性,還需要在打開微信小程序之前,判斷是否安裝了微信客戶端。
public static boolean isWxAppInstalled(Context context) {IWXAPI wxApi = WXAPIFactory.createWXAPI(context, null);wxApi.registerApp(WChatConstants.APP_ID);boolean bIsWXAppInstalled = false;bIsWXAppInstalled = wxApi.isWXAppInstalled();if(!bIsWXAppInstalled){Toast.makeText(context,"請先安裝微信",Toast.LENGTH_SHORT).show();}return bIsWXAppInstalled;}最后
如果你覺得這篇文章對你有點(diǎn)用的話,麻煩請給我們的開源項(xiàng)目點(diǎn)點(diǎn)star:http://github.crmeb.net/u/defu不勝感激 !
免費(fèi)獲取源碼地址:http://ym.baisouvip.cn/html/wzym/36.html
PHP學(xué)習(xí)手冊:https://doc.crmeb.com
技術(shù)交流論壇:https://q.crmeb.com
總結(jié)
以上是生活随笔為你收集整理的Android App跳转微信小程序教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(3093):vue+eleme
- 下一篇: android实现地图功能实现,Andr