2***@qq.com
2***@qq.com
  • 发布:2019-02-01 11:50
  • 更新:2020-07-17 04:26
  • 阅读:4328

离线打包拉起微信小程序

分类:Native.js

第一步

先在 微信开放平台登记应用和绑定小程序

第二步

在你的Android 项目里面建立一个class 随便一个名称都可以
注意微信开放平台的文档 中的context 就是你当前的activity

package 你的包名; //你的Android 项目包名,默认生成的  

import android.annotation.SuppressLint;  
import android.app.Activity;  
import android.support.v7.app.AppCompatActivity;  

import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram;  
import com.tencent.mm.opensdk.openapi.IWXAPI;  
import com.tencent.mm.opensdk.openapi.WXAPIFactory;  

@SuppressLint("Registered")  
public class MainActivity extends AppCompatActivity {  

    public static void launchMiniProgram(Activity activity,String programId) {//这里我传入了当前的activity,和我要拉起的小程序原始ID  
        String appId = "你的APPID"; // 填应用AppId  
        IWXAPI api = WXAPIFactory.createWXAPI(activity, appId);  

        WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();  
        req.userName = programId; // 填小程序原始id (gh_开头)  
        req.path = "";                  //拉起小程序页面的可带参路径,不填默认拉起小程序首页  
        req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版  
        api.sendReq(req);  
    }  
}

第三步

点击你的Android studio 右上方的运行---(我这边默认是以USB 真机调试的)


运行完成后----切换到你的HTML 页面在你需要拉起小程序的点击按钮触发下面代码

mui.plusReady(() => {  
          let obj = plus.android.runtimeMainActivity();//获取应用主Activity实例对象  
          let url = 你的应用包名; (com.xxxx.xxxx这种)  
          plus.android.invoke(`${url}.MainActivity`, 'launchMiniProgram', obj, programId); (programId === >小程序原始ID)  
        })

如果点击发现Android studio 控制台出现 req 19 需要打包成release 版本然后运行即可

还有如果拉起小程序出现跳转失败 记得检查jks 的应用签名是不是跟开放平台登记的有误

0 关注 分享

要回复文章请先登录注册

DCloud_heavensoft

DCloud_heavensoft

官方已经有了:https://www.html5plus.org/doc/zh_cn/share.html#plus.share.ShareService.launchMiniProgram
2020-07-17 04:26
1***@qq.com

1***@qq.com

想问一下ios离线打包您知道怎么搞吗?
2019-11-26 13:59