微信小程序 打開App

2022-05-11 15:43 更新

打開 App

此功能需要用戶主動(dòng)觸發(fā)才能打開 APP,所以不由 API 來調(diào)用,需要用 open-type 的值設(shè)置為 launchApp 的 button 組件的點(diǎn)擊來觸發(fā)。

當(dāng)小程序從 APP 分享消息卡片的場景打開(場景值 1036,APP 分享小程序文檔 iOS / Android) 或從 APP 打開的場景打開時(shí)(場景值 1069),小程序會(huì)獲得打開 APP 的能力,此時(shí)用戶點(diǎn)擊按鈕可以打開分享該小程序卡片/拉起該小程序的 APP。即小程序不能打開任意 APP,只能 跳回 APP。

在一個(gè)小程序的生命周期內(nèi),只有在特定條件下,才具有打開 APP 的能力。

在基礎(chǔ)庫 < 2.5.1 的版本,這個(gè)能力的規(guī)則如下:

當(dāng)小程序從 1069 場景打開時(shí),可以打開 APP。

當(dāng)小程序從非 1069 的打開時(shí),會(huì)在小程序框架內(nèi)部會(huì)管理的一個(gè)狀態(tài),為 true 則可以打開 APP,為 false 則不可以打開 APP。這個(gè)狀態(tài)的維護(hù)遵循以下規(guī)則:

  • 當(dāng)小程序從 App 分享消息卡片(場景值1036)打開時(shí),該狀態(tài)置為 true。
  • 當(dāng)小程序從以下場景打開時(shí),保持上一次打開小程序時(shí)打開 App 能力的狀態(tài):從其他小程序返回小程序(場景值1038)時(shí)(基礎(chǔ)庫 2.2.4 及以上版本支持)小程序從聊天頂部場景(場景值1089)中的「最近使用」內(nèi)打開時(shí)長按小程序右上角菜單喚出最近使用歷史(場景值1090)打開時(shí)
  • 當(dāng)小程序從非以上場景打開時(shí),不具有打開 APP 的能力,該狀態(tài)置為 false。

在基礎(chǔ)庫 >= 2.5.1 時(shí),這個(gè)能力的規(guī)則如下:

當(dāng)小程序從任意場景打開時(shí),會(huì)在小程序框架內(nèi)部會(huì)管理的一個(gè)狀態(tài),為 true 則可以打開 APP,為 false 則不可以打開 APP。這個(gè)狀態(tài)的維護(hù)遵循以下規(guī)則:

  • 當(dāng)小程序從 App 分享消息卡片(場景值1036)或從 APP 打開的場景打開時(shí)(場景值 1069)打開時(shí),該狀態(tài)置為 true。
  • 當(dāng)小程序從以下場景打開時(shí),保持上一次打開小程序時(shí)打開 App 能力的狀態(tài):從其他小程序返回小程序(場景值1038)時(shí)(基礎(chǔ)庫 2.2.4 及以上版本支持)小程序從聊天頂部場景(場景值1089)中的「最近使用」內(nèi)打開時(shí)長按小程序右上角菜單喚出最近使用歷史(場景值1090)打開時(shí)
  • 當(dāng)小程序從非以上場景打開時(shí),不具有打開 APP 的能力,該狀態(tài)置為 false。

使用方法

小程序端

需要將 button 組件 open-type 的值設(shè)置為 launchApp。如果需要在打開 APP 時(shí)向 APP 傳遞參數(shù),可以設(shè)置 app-parameter 為要傳遞的參數(shù)。通過 binderror 可以監(jiān)聽打開 APP 的錯(cuò)誤事件。

app 端

APP 需要接入 OpenSDK。 文檔請(qǐng)參考 iOS / Android

Android 第三方 app 需要處理 ShowMessageFromWX.req 的微信回調(diào),iOS 則需要將 appId 添加到第三方 app 工程所屬的 plist 文件 URL types 字段。 app-parameter 的獲取方法,參數(shù)解析請(qǐng)參考 Android SDKSample 中 WXEntryActivity 中的 onResp 方法以及 iOS SDKSample  中 WXApiDelegate 中的 onResp 方法。

代碼示例

<button open-type="launchApp" app-parameter="wechat" binderror="launchAppError">打開APP</button>
Page({
  launchAppError (e) {
    console.log(e.detail.errMsg)
  }
})

error 事件參數(shù)說明

說明
invalid scene 調(diào)用場景不正確,即此時(shí)的小程序不具備打開 APP 的能力。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)