欧美日韩精品一区二区在线线,一级无码在线收看,精品国产高清91,久久精品欧美电影

# 打開 App

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

當小程序從 APP 打開的場景打開時(場景值 1069),小程序會獲得返回 APP 的能力,此時用戶點擊按鈕可以打開拉起該小程序的 APP。即小程序不能打開任意 APP,只能 跳回 APP。

在一個小程序的生命周期內(nèi),只有在特定條件下,才具有打開 APP 的能力,這個能力的規(guī)則如下:

當小程序從 1069 場景打開時,可以打開 APP。

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

  • 當小程序從以下場景打開時,保持上一次打開小程序時打開 App 能力的狀態(tài):
    • 從其他小程序返回小程序(場景值1038)時(基礎(chǔ)庫 2.2.4 及以上版本支持)
    • 小程序從聊天頂部場景(場景值1089)中的「最近使用」內(nèi)打開時
    • 長按小程序右上角菜單喚出最近使用歷史(場景值1090)打開時
    • 發(fā)現(xiàn)欄小程序主入口,「最近使用」列表(場景值1001)打開時(基礎(chǔ)庫2.17.3及以上版本支持)
    • 浮窗(場景值1131、1187)打開時(基礎(chǔ)庫2.17.3及以上版本支持)
  • 當小程序從非以上場景打開時,不具有打開 APP 的能力,該狀態(tài)置為 false。

# 使用方法

# 小程序端

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

# 示例代碼

<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)用場景不正確,即此時的小程序不具備打開 APP 的能力。

# APP 端

APP 需要接入 OpenSDK。 文檔請參考 iOS / Android

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

# iOS 示例代碼

-(void)onResp:(BaseResp *)resp 
{
     if ([resp isKindOfClass:[WXLaunchMiniProgramResp class]])
     {
          NSString *string = resp.extMsg;
          // 對應(yīng)小程序組件 <button open-type="launchApp"> 中的 app-parameter 屬性
     }
}

# Android 示例代碼

WXEntryActivity中

public void onResp(BaseResp resp) {
    if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
        WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp;
        String extraData =launchMiniProResp.extMsg; //對應(yīng)小程序組件 <button open-type="launchApp"> 中的 app-parameter 屬性
    }
}

如你的 App 是使用平臺推出的多端框架開發(fā)的,即可只需要調(diào)用下方的 JSAPI 即可輕松實現(xiàn),無需按照上述指引在 Android 或 iOS 工程中進行接入。

  • wx.miniapp.launchMiniProgram 該接口已將從小程序返回 App 的回調(diào)內(nèi)容進行封裝,按照示例使用 res.data 即可獲取