expo-network
expo-network
开放Beta测试文档 作为预发布开放Beta测试的一项内容,亚马逊提供了此技术文档。随着亚马逊收到反馈并对功能进行迭代,所描述的这些功能可能会发生变化。有关最新功能的信息,请参阅发布说明。
@amazon-devices/expo-network提供有关设备网络的有用信息,例如其IP地址、MAC地址和飞行模式状态。
安装
- 在
package.json文件中添加JavaScript库依赖项。dependencies: { ... "@amazon-devices/expo-network": "~2.0.0", } - 使用
npm install命令重新安装依赖项。
示例
要测试网络功能,您需要在设备shell上连接到WiFi。将NETWORK和PASSWORD替换为您的凭证。
> 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()- 始终返回falseNetwork.getNetworkStateAsync()-isInternetReachable字段总是缺失Network.getNetworkStateAsync()-type字段只能为NONE或WIFI
在模拟器上测试
您可以通过运行以下命令在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日

