android跳转小程序

2020-10-16 18:05:12 阅读:5 编辑
使用
wx.launchMiniProgram({
                    appId:"wxc708236add8cf9bb",
                    userName:"gh_e57764e1e6ba",
                    path:"",
                    miniprogramType:0
                });
wx.js
function launchMiniProgram(obj){
    var siteinfo = weex.requireModule('siteinfo');
    //miniprogramType
    //0表示正式版,1表示开发版,2表示体验版
    var data = {
        appId:obj.appId,
        userName:obj.userName,
        path:obj.path,
        miniprogramType:obj.miniprogramType != undefined ? obj.miniprogramType : 0
    }
   var result = siteinfo.launchMiniProgram(data);
    if(result == "ok"){
        if(obj.success){
            obj.success();
        }
    }else{
        if(obj.fail){
            obj.fail(result);
        }
    }

}

android

升级微信SDK包

nexus/nexus/build.gradle
 compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
   // compile files('libs/libammsdk.jar')
com/zhy1127/app/wxapi/WXEntryActivity.java
//加入到public void onResp(BaseResp baseResp) 
if (baseResp.getType() == 19) {
            WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) baseResp;
            String extraData =launchMiniProResp.extMsg; //对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性
        }
com/benmu/pluginsimple/ErosPluginSimple.java
 @JSMethod(uiThread = true)
    public String launchMiniProgram(String params){

        try {

            JSONObject obj = new JSONObject(params);
            String appId = obj.getString("appId");
            String userName = obj.getString("userName");
            String path = obj.getString("path");
            int miniprogramType = obj.getInt("miniprogramType");
           // String appId = "wxc708236add8cf9bb"; // 填应用AppId
            IWXAPI api = WXAPIFactory.createWXAPI(mWXSDKInstance.getContext(), appId);

            WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
            req.userName = userName; // 填小程序原始id
            req.path =path;                  ////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
            switch (miniprogramType){
                case 0:{
                    req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;//正式版
                    break;
                }
                case 1:{
                    req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_TEST;// 开发版
                    break;
                }
                case 2:{
                    req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW;// 体验版
                    break;
                }
            }
            api.sendReq(req);
            return "ok";
        } catch (Throwable t) {
            return "请求参数出错";
        }
    }