as

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

react-native-netinfo

react-native-netinfo

react-native-netinfo API让您可以访问网络连接信息。

安装

按照下面的步骤安装react-native-netinfo

  1. 在适用于Vega的React Native应用的package.json中添加库依赖项:

    已复制到剪贴板。

     "dependencies": {
         ...
         "@amazon-devices/keplerscript-netmgr-lib": "~2.0.0",
         ...
     }
    
  2. 在适用于Vega的React Native应用的manifest.toml中,将com.amazon.network.service添加到[wants.service]

    已复制到剪贴板。

          [[wants.service]]
          id = "com.amazon.network.service"
    
  3. 在适用于Vega的React Native应用的manifest.toml中,将API权限添加到[wants.privilege]

    已复制到剪贴板。

         [wants]
         [[wants.privilege]]
         id="com.amazon.network.privilege.net-info"
    
  4. 使用npm install命令重新安装依赖项。

API权限

要访问完整的API功能,您的应用需要com.amazon.network.privilege.net-info权限。此权限必须由用户在运行时授予。没有它,API响应将受到限制。要管理权限,请执行以下操作:

  • 使用checkPrivilege("com.amazon.network.privilege.net-info") 检查当前的权限状态。
  • 如果需要,可通过调用requestPrivilege() 请求用户同意。

有关完整详情,请参阅安全管理器API文档

用法

以下代码片段显示了如何查询网络状态。

已复制到剪贴板。

import {NetInfoStateType, fetch} from "@amazon-devices/keplerscript-netmgr-lib";
fetch().then(state => {
      console.log("连接状态:" + state.isConnected);
      if (state.type === NetInfoStateType.wifi) {
        console.log("ssid is " + state.details.ssid);
      }
});

支持的方法

API 描述
fetch() 返回缓存的网络信息。
refresh() 更新网络状态并返回网络信息。
addEventListener() 侦听网络连接的变化。
useNetInfo() 从全局实例获取对最新状态的访问权限。

fetch()refresh()返回NetInfoState以访问网络连接信息。

属性 描述
type 如果连接为Wi-Fi,则为NetInfoStateType.wifi
isConnected 如果已连接Wi-Fi,则为true;否则为false
isInternetReachable 如果可以访问互联网,则为true;否则为false
details中的ssid 所连接访问接入点的SSID。如果com.amazon.network.privilege.net-info权限被拒绝,则返回"<未知的SSID>"
details中的bssid 所连接访问接入点的BSSID。如果com.amazon.network.privilege.net-info权限被拒绝,则返回"02:00:00:00:00:00"
details中的strength 当前Wi-Fi连接的信号强度。
details中的ipAddress IP地址。
details中的subnet 子网掩码。
details中的frequency 中心频率。
details中的linkspeed 当前连接的链路速度(以bps为单位)。
details中的isConnectionExpensive 如果连接开销过高,则为true;否则为false

实现详情

在模拟器上测试

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

已复制到剪贴板。

kepler exec 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 2.0.x+rn0.72.0

其他资源

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


Last updated: 2025年10月22日