此功能需要用户主动触发才能打开 APP,所以不由 API 来调用,需要用 open-type 的值设置为 launchApp 的 button 组件的点击来触发。
当微信小程序从 APP 打开的场景打开时(场景值 1069),微信小程序会获得返回 APP 的能力,此时用户点击按钮可以打开拉起该微信小程序的 APP。即微信小程序不能打开任意 APP,只能 跳回 APP。
在一个微信小程序的生命周期内,只有在特定条件下,才具有打开 APP 的能力,这个能力的规则如下:
当微信小程序从 1069 场景打开时,可以打开 APP。
当微信小程序从非 1069 的打开时,会在微信小程序框架内部会管理的一个状态,为 true 则可以打开 APP,为 false 则不可以打开 APP。这个状态的维护遵循以下规则:
- 当微信小程序从以下场景打开时,保持上一次打开微信小程序时打开 App 能力的状态:
- 从其他微信小程序返回微信小程序(场景值1038)时(基础库 2.2.4 及以上版本支持)
- 微信小程序从聊天顶部场景(场景值1089)中的「最近使用」内打开时
- 长按微信小程序右上角菜单唤出最近使用历史(场景值1090)打开时
- 发现栏微信小程序主入口,「最近使用」列表(场景值1001)打开时(基础库2.17.3及以上版本支持)
- 浮窗(场景值1131、1187)打开时(基础库2.17.3及以上版本支持)
- 当微信小程序从非以上场景打开时,不具有打开 APP 的能力,该状态置为 false。