as

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

expo-network

expo-network

@amazon-devices/expo-network提供有关设备网络的有用信息,例如其IP地址、MAC地址和飞行模式状态。

安装

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

    已复制到剪贴板。

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

示例

要测试网络功能,您需要在设备shell上连接到WiFi。将NETWORKPASSWORD替换为您的凭证。

已复制到剪贴板。

> ace mw wifi add_network ssid=$NETWORK psk=$PASSWORD
> ace mw wifi connect $NETWORK

已复制到剪贴板。

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

export const App = () => {
  const [networkState, setNetworkState] = useState<Network.NetworkState>();
  const [ipAddress, setIpAddress] = useState<string>();
  const [airplaneModeEnabled, setAirplaneModeEnabled] = useState<boolean>();

  useEffect(() => {
    (async () => {
      setNetworkState(await Network.getNetworkStateAsync());
      setIpAddress(await Network.getIpAddressAsync());
      setAirplaneModeEnabled(await Network.isAirplaneModeEnabledAsync());
    })();
  }, []);

  return (
    <View style={styles.container}>
      <Text style={styles.text}>
        getNetworkStateAsync().type: {networkState?.type}
      </Text>
      <Text style={styles.text}>
        getNetworkStateAsync().isConnected: {String(networkState?.isConnected)}
      </Text>
      <Text style={styles.text}>
        getNetworkStateAsync().isInternetReachable:{' '}
        {String(networkState?.isInternetReachable)}
      </Text>
      <Text style={styles.text}>getIpAddressAsync(): {ipAddress}</Text>
      <Text style={styles.text}>
        isAirplaneModeEnabledAsync(): {String(airplaneModeEnabled)}
      </Text>
    </View>
  );
};

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

API参考

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

方法

名称 类型 描述
Network.getIpAddressAsync() Promise<string> 获取设备的当前IPv4地址。如果无法检索IP地址,则返回0.0.0.0
Network.getNetworkStateAsync() Promise<NetworkState> 获取设备的当前网络连接状态。
Network.isAirplaneModeEnabledAsync() Promise<boolean> 告知设备是否处于飞行模式。在Kelper上始终返回false

实现详情

  • Network.isAirplaneModeEnabledAsync() - 始终返回false
  • Network.getNetworkStateAsync() - isInternetReachable字段总是缺失
  • Network.getNetworkStateAsync() - type字段只能为NONEWIFI

在模拟器上测试

您可以通过运行以下命令在Vega虚拟设备上测试网络连接。

已复制到剪贴板。

vda shell
ace mw wifi_cli add_network ssid=test psk=test_password
ace mw wifi_cli connect test

支持的版本

程序包版本 基于 @amazon-devices/react-native-kepler版本
2.0.x 5.7.0 2.0.x

其他资源

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


Last updated: 2025年9月30日