您的当前位置:首页正文

微信小程序如何打开 APP

来源:华拓网

launchApp(OBJECT)

说明

因为需要用户主动触发才能打开 APP,所以该功能不由 API 来调用,需要用 open-type 的值设置为 launchApp<button> 组件的点击来触发。

在一个小程序的生命周期内,只有在特定条件下,才具有打开 APP 的能力。 打开 APP 的能力 可以理解为由小程序框架在内部管理的一个状态,为 true 则可以打开 APP,为 false 则不可以打开 APP。

在小程序的生命周期内,这个状态的初始值为 false,之后会随着小程序的每次打开(无论是启动还是切到前台)而改变:

  • 当小程序从 1036(App 分享消息卡片) 打开时,该状态置为 true。
  • 当小程序从 1069(App 打开小程序) 打开时,该状态置为 true。
  • 当小程序从以下场景打开时, 该状态不变,即保持上一次打开小程序时该状态的值:
    • 1038(从小程序返回,基础库 2.2.4 及以上版本支持)
    • 1089(微信聊天主界面下拉)
    • 1090(长按小程序右上角菜单唤出最近使用历史)
  • 当小程序从非以上陈列的场景打开时,该状态置为 false。
launch-app

使用方法

小程序端

需要将 <button> 组件 open-type 的值设置为 launchApp。如果需要在打开 APP 时向 APP 传递参数,可以设置 app-parameter 为要传递的参数。通过 binderror 可以监听打开 APP 的错误事件。

app 端

APP 需要接入 OpenSDK。

例子

  <button 
    open-type="launchApp" 
    app-parameter="wechat" 
    binderror="launchAppError">
    打开APP
  </button> 

Page({ 
    launchAppError: function(e) { 
        console.log(e.detail.errMsg) 
    } 
}) 

error 事件参数说明

说明
invalid scene 调用场景不正确,即此时的小程序不具备打开 APP 的能力。