米家扩展程序打开第三方应用

news/2024/7/24 8:45:10 标签: react native, javascript, android, ios

米家扩展程序打开第三方应用 - 飞书云文档 (mioffice.cn)
米家扩展程序打开第三方应用

javascript">import { Host } from 'miot';

import logger from '../../../utils/logger';

const noop = undefined;
/**
 * 打开第三方应用。如手机未安装应用将会跳转应用市场。
 * @param schema {string} See: https://baike.baidu.com/item/Schema
 * @param packageName {string} Android 包名。前往小米应用商店搜索应用后查看包名:
 *                             https://app.mi.com/
 * @param appStoreId {string} APP Store 应用 ID。
 *                            获取应用 ID 可以在 APP Store 搜索该应用后点击分享。
 */
export function open3rdApp(schema, packageName, appStoreId) {
  // Android 应用市场链接:market://details?id=包名
  // 获取 Android 包名:前往小米应用商店搜索应用后查看 https://app.mi.com/
  const androidMarketLink = `market://details?id=${ packageName }`;
  // APP Store 链接:https://apps.apple.com/app/应用ID
  // 获取应用 ID 可以在 APP Store 搜索该应用后点击分享
  const appStoreLink = `https://apps.apple.com/app/${ appStoreId }`;
  const marketSchema = Host.isAndroid ? androidMarketLink : appStoreLink;
  Host.jumpToThirdpartyApplication(schema, noop, noop)
    .catch(() => Host.jumpToThirdpartyApplication(marketSchema, noop, noop))
    .catch((e) => logger.e(`open 3rd app err: ${ JSON.stringify(e) }`));
}

/**
 * 打开小米运动健康
 */
export function openMiHealth() {
  const schema = 'mihealth://intent?pageType=sporttab';
  const packageName = 'com.mi.health';
  const appStoreId = 'id1493500777';
  open3rdApp(schema, packageName, appStoreId);
}

/**
 * Android 打开小米钱包,iOS 打开钱包
 */
export function openWallet() {
  const schema = Host.isAndroid ? 'sacf776a64://mihome' : 'wallet://mihome';
  const packageName = 'com.xiaomi.jr';
  const appStoreId = 'id1160481993';
  open3rdApp(schema, packageName, appStoreId);
}

/**
 * 打开米兔 APP
 */
export function openMiRabbit() {
  const schema = 'xiaoxun://mihome';
  const packageName = 'com.imibaby.client';
  const appStoreId = 'id1078501077';
  open3rdApp(schema, packageName, appStoreId);
}

/**
 * 打开米兔 APP 门卡页面
 */
export function openMiRabbitCard() {
  const schema = 'imibaby://doorcard';
  const packageName = 'com.imibaby.client';
  const appStoreId = 'id1078501077';
  open3rdApp(schema, packageName, appStoreId);
}

http://www.niftyadmin.cn/n/5182444.html

相关文章

大数据清洗、转换工具——ETL工具概述

大数据清洗、转换工具——ETL工具概述_etl转换-CSDN博客 ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL过程本质上是数据流动的过程,从不同的数据源…

【广州华锐互动】地震防灾减灾科普3D虚拟展厅:向公众普及地震安全知识

在面对自然灾害时,我们都需要有足够的知识和准备来保护自己和他人。这就是为什么地震安全知识的普及如此重要。然而,传统的教育方法可能无法满足所有人的需求,特别是在这个数字化的时代。为了解决这个问题,广州华锐互动制作开发了…

nslookup google.com -bash: nslookup: 未找到命令

您的系统似乎没有安装 nslookup 和 dig 这两个用于 DNS 查询的工具。这两个工具通常包含在 bind-utils 包中。您可以安装这个包来获取这些工具。 根据您的 Linux 发行版,安装方法可能会有所不同。以下是在一些常见 Linux 发行版上安装 bind-utils 的方法&#xff1…

失明后还能成为摩根大通的高级分析师,你见过吗?昂首资本见过

失明后还可以成为交易者吗?并且还是摩根大通的高级分析师?昂首资本原来也以为怎么可能,但是自从认识到劳伦奥普林格后,认为这是可能的。 劳伦奥普林格来自新泽西州,2008年从马萨诸塞州圣十字学院毕业后,就加入了摩根大通。但是…

两万字图文详解!InnoDB锁专题!

前言 本文将跟大家聊聊 InnoDB 的锁。本文比较长,包括一条 SQL 是如何加锁的,一些加锁规则、如何分析和解决死锁问题等内容,建议耐心读完,肯定对大家有帮助的。 为什么需要加锁呢? InnoDB 的七种锁介绍 一条 SQL 是…

智能客服外包服务适用于哪些行业?

在当今快节奏的商业环境下,企业需要更高效、更智能且更灵活的客户服务解决方案。而智能客服外包服务正是满足这一需求的利器。不仅可以帮助企业提升客户服务的品质和效率,还能降低企业的运营成本。智能客服外包服务适用于哪些行业呢? 1.电子…

【开题报告】基于SpringBoot的高校科研课题管理系统的设计与实现

1.选题背景 基于SpringBoot的高校科研课题管理系统的选题背景主要源于当前高校科研课题管理存在的问题和需求。随着科研课题数量的增加和管理的复杂性,传统的手工管理方式已经无法满足高效、准确、安全的科研课题管理需求。因此,设计和实现一个基于Spri…

halcon 图像拼接

需求:将两个图像各裁剪一半,然后拼接到一张图像中 read_image (Image1, ./1 - 副本.bmp) read_image (Image2, ./1 - 副本 (6).bmp)get_image_size (Image1, Width, Height)* 左半区域 gen_rectangle1 (Rectangle1, 0, 0, Height, Width/2) *右半区域 ge…