as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

expo-linking

expo-linking

@amazon-devices/expo-linking为您的应用提供使用深层链接与其他已安装的应用进行交互的实用工具。它还为构造和解析应用中的深层链接提供了帮助程序方法。此模块是React Native Linking模块的扩展。

安装

  1. package.json文件中添加JavaScript库依赖项。


    已复制到剪贴板。

     dependencies: {
         ...
         "@amazon-devices/expo-linking": "~2.0.0",
         "expo": "~50.0.0",
     }
    

    已复制到剪贴板。

     dependencies: {
         ...
         "@amazon-devices/expo-linking": "~3.0.0",
         "expo": "~50.0.0",
    
     }
    
  2. 使用npm install命令重新安装依赖项。

示例

已复制到剪贴板。

import * as Linking from '@amazon-devices/expo-linking';
import React, {useEffect, useState} from 'react';
import {Button, StyleSheet, Text, View} from 'react-native';

const URL = 'pkg://com.amazondeveloper.uisvg-demo.main';

export const App = () => {
  const [parsedUrl, setParsedUrl] = useState<string | null>(null);

  useEffect(() => {
    const parsed = Linking.parse(URL);
    setParsedUrl(JSON.stringify(parsed, null, 2));
  }, []);

  const onLinking = async () => {
    const supported = await Linking.canOpenURL(URL);
    if (supported) {
      await Linking.openURL(URL);
    }
  };

  return (
    <View style={styles.container}>
      {parsedUrl && <Text style={styles.text}>{parsedUrl}</Text>}
      <Button title="链接到应用" onPress={onLinking} />
    </View>
  );
};

const styles = StyleSheet.create({
  container: {
    backgroundColor: 'white',
    flex: 1,
  },
  text: {
    color: 'black',
    fontSize: 32,
  },
});

API参考

请查看以下专门文档页面,了解有关此库、API参考等的信息: 针对expo-linking的官方Expo文档(仅提供英文版)。

挂钩

挂钩 描述
useURL 返回初始URL,然后返回对该网址进行的任何后续更改。

方法

方法 描述
canOpenURL 确定已安装的应用是否可以处理给定的URL。在网页上,此项总是返回true,因为没有API可以检测哪些URL可以打开。
collectManifestSchemes 从清单中收集平台方案清单。此方法基于@expo/config-plugins中的Scheme模块,这些模块用于在预构建原生应用之前收集方案。
createURL 在给定可选路径和查询参数组的情况下,用于构建应用中深层链接的帮助程序方法。创建默认带有两个斜杠的URI方案。裸式和独立式方案必须在expo.scheme下的Expo配置(app.config.jsapp.json)中定义。
getInitialURL 如果应用通过链接启动,则获取用于启动应用的URL。
hasConstantsManifest 确保用户已在裸工作流程中关联了expo-constants清单。
hasCustomScheme 返回应用是否已使用自定义方案进行配置。
openSettings 打开操作系统设置应用并显示该应用的自定义设置(如果有)。
openURL 尝试使用已安装的应用打开给定的URL。
parse 用于从URL中解析出深层链接信息的帮助程序方法。
parseInitialURLAsync 将React Native的Linking.getInitialURL() 包装在Linking.parse() 中的帮助程序方法。从最初用于打开体验的URL中解析深层链接信息。如果没有链接打开了应用,则所有字段都将为null
resolveScheme 返回代表已解析方案的字符串。如果配置了自定义方案,它将返回该方案。

事件订阅

订阅 描述
addEventListener 通过侦听url事件类型并提供处理程序,向Linking变化添加处理程序。建议改用useURL() 挂钩。

支持的版本

NPM程序包版本 Vega SDK版本 Vega OS版本 React Native版本
2.0.0 0.23及更早版本 操作系统1.1 (1401010009820)及更早版本 0.72
3.0.0 0.24 操作系统1.2 (2101020054720) 0.72、0.83

其他资源

有关其他库的信息,请参阅支持的第三方库和服务


Last updated: 2026年8月3日