前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Android APP拉起小程序、分享小程序、小程序打开APP

Android APP拉起小程序、分享小程序、小程序打开APP

作者头像
yechaoa
发布于 2022-06-10 05:29:00
发布于 2022-06-10 05:29:00
3.6K00
代码可运行
举报
文章被收录于专栏:移动开发专栏移动开发专栏
运行总次数:0
代码可运行

配置参考:https://cloud.tencent.com/developer/article/2019766

APP拉起小程序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	private void launchMiniProgram(String path) {
        String appId = "你的appid"; // 填应用AppId
        IWXAPI api = WXAPIFactory.createWXAPI(PinDanActivity.this, appId);

        WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
        req.userName = "原始id"; // 填小程序原始id
        req.path = path;                  //拉起小程序页面的可带参路径,不填默认拉起小程序首页
        req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW;// 可选打开 开发版,体验版和正式版
        api.sendReq(req);
    }
  • req.userName 参数是小程序原始id,不是小程序的appid,不然会提示跳转失败。
  • req.path 参数是小程序里面的页面路径,及json文件里面的路径,比如:/pages/index/index?id=1
  • req.miniprogramType 小程序的版本
回调WXEntryActivity
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	@Override
    public void onResp(BaseResp baseResp) {
        // baseresp.getType 1:第三方授权, 2:分享
        LogUtil.i("baseresp.getType = " + baseResp.getType());
        switch (baseResp.getType()) {
            case 1:
              
                break;
            case 2:
              
                break;
            case ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM:
                WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) baseResp;
                //获取参数
                String extraData = launchMiniProResp.extMsg; //对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性
                break;
        }
      }

APP分享小程序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    private void shareMiniProgram(String url) {
        WXMiniProgramObject miniProgramObj = new WXMiniProgramObject();
        miniProgramObj.webpageUrl = url; // 兼容低版本的网页链接
        miniProgramObj.miniprogramType = WXMiniProgramObject.MINIPROGRAM_TYPE_PREVIEW;// 正式版:0,测试版:1,体验版:2
        miniProgramObj.userName = "原始id";     // 小程序原始id
        miniProgramObj.path = "/pages/home/home";        //小程序页面路径

        WXMediaMessage msg = new WXMediaMessage(miniProgramObj);
        msg.title ="分享的标题"; // 小程序消息title
        msg.description = "分享的描述";   // 小程序消息desc
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pindan);
        msg.thumbData = bmpToByteArray(bitmap, true);   // 小程序消息封面图片,小于128k

        SendMessageToWX.Req req = new SendMessageToWX.Req();
        req.transaction = buildTransaction("webpage");
        req.message = msg;
        req.scene = SendMessageToWX.Req.WXSceneSession;  // 目前支持会话
        api.sendReq(req);
    }

小程序打开APP

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<button open-type="launchApp" app-parameter="wechat" binderror="launchAppError">打开APP</button>
  • open-type=“launchApp” 开放能力
  • app-parameter=“wechat” 传参
  • binderror=“launchAppError” 失败回调
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Page({
  launchAppError (e) {
    console.log(e.detail.errMsg)
  }
})
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-11-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • APP拉起小程序
    • 回调WXEntryActivity
  • APP分享小程序
  • 小程序打开APP
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档