Android?App跳轉(zhuǎn)微信小程序踩坑實戰(zhàn)
最近,有一個App跳轉(zhuǎn)小程序的需求,參考微信的官方文檔,接入還是比較簡單的,不過中途遇到了一個坑,所以記錄一下。
首先,需要登錄微信開放平臺 微信開放平臺,創(chuàng)建一個移動應用,然后系統(tǒng)會返回一個appid。
需要說明的是,不管是跳轉(zhuǎn)微信小程序還是微信登錄、分享,都需要先在微信開放平臺注冊appId。然后,就可以參考 Android APP拉取小程序的例子,在WebView中調(diào)用下面的代碼(可以是直接調(diào)用,也可以是協(xié)議攔截)。
String appId = "wxd930ea5d5a258f4f"; // 填移動應用(App)的 AppId,非小程序的 AppID IWXAPI api = WXAPIFactory.createWXAPI(context, appId); WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req(); req.userName = "gh_d43f693ca31f"; // 填小程序原始id req.path = path; ////拉起小程序頁面的可帶參路徑,不填默認拉起小程序首頁,對于小游戲,可以只傳入 query 部分,來實現(xiàn)傳參效果,如:傳入 "?foo=bar"。 req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可選打開 開發(fā)版,體驗版和正式版 api.sendReq(req);
需要重點提醒的是,上面appId是前面我們注冊的移動應用的appId,而不是小程序的appId。在剛開始接入的時候,就遇到了一個坑,“bad param”的錯誤。如果遇到“bad param”的錯誤,那多半是appId的問題。
userName則是小程序原始id,可以打開小程序,然后查看更多資料進行查看,比如:
如果需要回掉結果,還需要在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; //對應小程序組件 <button open-type="launchApp"> 中的 app-parameter 屬性 } }
當然,為了代碼邏輯的健壯性,還需要在打開微信小程序之前,判斷是否安裝了微信客戶端。
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; }
總結
到此這篇關于Android App跳轉(zhuǎn)微信小程序踩坑的文章就介紹到這了,更多相關Android App跳轉(zhuǎn)小程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Android中Webview打開網(wǎng)頁的同時發(fā)送HTTP頭信息方法
這篇文章主要介紹了Android中Webview打開網(wǎng)頁的同時發(fā)送HTTP頭信息方法,本文是講解的是一種通過修改Referer來控制盜鏈的方法,需要的朋友可以參考下2015-01-01Android編程使用自定義View實現(xiàn)水波進度效果示例
這篇文章主要介紹了Android編程使用自定義View實現(xiàn)水波進度效果,結合實例形式詳細分析了Android水波動畫效果的具體實現(xiàn)步驟與相關注意事項,需要的朋友可以參考下2017-01-01Flutter runApp GestureBinding使用介紹
這篇文章主要為大家介紹了Flutter runApp GestureBinding使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12