@capgo/capacitor-wifi

中文文档
8.5.9发布于 2026/10/15MPL-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 5.3万

为您的 Capacitor app 管理 WiFi 连接

中文使用文档
文档目录28 节
  1. *免费开始*
  2. 主要特点
  3. 为什么是WiFi控制器?
  4. 文档
  5. 兼容性
  6. 安装
  7. 所需资源
  8. API 密码
  9. 添加网络(...)
  10. 连接(...)
  11. 断开(...)
  12. 获取可用网络
  13. 获取IpAddress ()
  14. 获取Rssi ()
  15. 获取Sid( )
  16. 获取WifiInfo ()
  17. 已启用
  18. 启动扫描( C)
  19. 检查( )
  20. 请求(...)
  21. 添加倾听器( “ 网络扫描” ,...)
  22. 删除所有收听器( )
  23. isNetwork 已保存(...)
  24. 共享网络(...)
  25. 获取 PluginVersion ()
  26. 接口
  27. 类型异名
  28. 数字

@ capgo/ 电容- wifi

从 Capacitor app 管理 Wi-Fi:连接到网络,读取当前的SSID,IP和信号,并在Android上扫描附近的网络.

Capgo - Build Capacitor apps with AI, ship updates instantly

队长:在几分钟内将修正推给您的 Capacitor 用户,在没有Mac的情况下构建已签名的iOS和Android apps,并在一击中回滚.

*免费开始*

14天无限自由审判. 不需要信用卡

🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用 @capgo/capacitor-wifi 在您的电容应用程序中: npx skills add Cap-go/capgo-skills。然后问你的经纪人: 添加@capgo/capacor-wifi到我的Capacitor应用上,并把它接上。" 代理设置指南 • 妇女 主机磁共振

@capgo/capacitor-wifi for Capacitor apps

主要特点

  • 连接数字 : connect(), (中文(简体) ), addNetwork() 财务报告和审定财务报表 disconnect()。 。 。 .
  • 当前网络数字 : getSsid(), (中文(简体) ), getIpAddress() 财务报告和审定财务报表 getWifiInfo()。 。 。 .
  • 在 Android 上扫描数字 : startScan(), (中文(简体) ), getAvailableNetworks(), (中文(简体) ), getRssi() 编辑 networksScanned 活动.
  • 已保存网络和共享数字 : isNetworkSaved() 财务报告和审定财务报表 shareNetwork()。 。 。 .
  • 权限: 位置权限助手. 在Android,扫描,SSID,RSSI和 getWifiInfo() 需要位置许可 .
  • 平台: iOS和Android. 互联网档案馆的存檔,存档日期2013-12-21. iOS使用NetworkExtension热点配置,因此有的呼叫只有Android. 在网上不可用.

为什么是WiFi控制器?

具有现代平台支持的自由而强大的WiFi管理插件:

  • 网络管理 - 在程序上连接、断开和添加WiFi网络
  • 网络扫描 - 发现可用的WiFi网络(仅Android)
  • 网络信息 - 获得SSID、IP地址和信号强度(RSSI)
  • 现代 APIs - 使用网络扩展(iOS)和处理Android 10+限制
  • 跨平台 - 一致的API跨iOS和Android

适合IOT应用,网络诊断工具和智能家用应用.

文档

这里有最完整的医生: https://capgo.app/docs/plugins/wifi/ 页面存档备份,存于互联网档案馆

兼容性

插件版本电容兼容性维护
联合国联合国✅
页:1页:1应要求
页:1页:1❌
页:1页:1❌

说明: 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.

安装

您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :

npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins

然后使用下列提示:

Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-wifi` plugin in my project.

如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:

npm install @capgo/capacitor-wifi
npx cap sync

所需资源

  • iOS系统: 需要位置许可(NSLocationWhenInUseUsageDescription 在 Info.plist 中访问 WiFi 信息。 使用网络扩展框架.
  • 机器人: 需要位置权限. 网络扫描和RSSI 仅在Android上可用. Android 10+使用系统对话框来添加网络.

API 密码

管理设备 WiFi 连接的 WiFi 插件

添加网络(...)

addNetwork(options: AddNetworkOptions) => Promise<void>

显示一个系统对话框以添加到设备中的无线网络 . 在Android SDK 30+上,这打开了系统Wi-Fi设置,并预装了网络. 在iOS上,这直接连接到网络.

参数类型说明
optionsAddNetworkOptions- 说吧 网络 配置选项

自: 7.0.0 (单位:千美元)


连接(...)

connect(options: ConnectOptions) => Promise<void>

接通无线网络. 在Android上,这创造了一种不默认通过网络进行路由交通的临时连接. 设定自動RouteTraffic为真将应用程序流量绑定到连接的网络(对本地/设备托管的AP有用). 对于Android上的持续连接,请使用添加Network () 代替. 在iOS上,这形成了持久的连接.

只有在设备被确认与请求的SSID相关后才能解决. 失败时,以包含平稳器的电容错误拒绝 code (原始内容存档于2018-10-25). from QQQlink WifiConnectionErrorCode}. 偏爱 error.code 超过解析 error.message。 。 。 . 只有当当地操作系统提供这一理由时,才返回特定代码; 否则插件返回 CONNECTION_FAILED。 。 。 .

参数类型说明
optionsConnectOptions- 连接选项

自: 7.0.0 (单位:千美元)


断开(...)

disconnect(options?: DisconnectOptions | undefined) => Promise<void>

与当前无线网络断开连接. 在iOS上,仅与通过此插件添加的网络断开.

参数类型说明
optionsDisconnectOptions- 可选断开选项

自: 7.0.0 (单位:千美元)


获取可用网络

getAvailableNetworks() => Promise<GetAvailableNetworksResult>

从上次扫描中获取可用的Wi-Fi网络列表 . 只能从Android上找到.

回返情况: Promise<GetAvailableNetworksResult>

自: 7.0.0 (单位:千美元)


获取IpAddress ()

getIpAddress() => Promise<GetIpAddressResult>

获取设备当前IP地址. 可在Android和iOS上查阅.

回返情况: Promise<GetIpAddressResult>

自: 7.0.0 (单位:千美元)


获取Rssi ()

getRssi() => Promise<GetRssiResult>

以 dBm 为单位获取当前网络接收到的信号强度指标(RSSI). 只能从Android上找到.

回返情况: Promise<GetRssiResult>

自: 7.0.0 (单位:千美元)


获取Sid( )

getSsid() => Promise<GetSsidResult>

获取当前网络的服务集标识符( SSID) . 可在Android和iOS上查阅.

回返情况: Promise<GetSsidResult>

自: 7.0.0 (单位:千美元)


获取WifiInfo ()

getWifiInfo() => Promise<WifiInfo>

获取目前连接的WiFi网络的全面信息. 这种方法提供了详细的网络信息,包括SSID,BSSID,IP地址, 频率,链接速度, 和信号强度在一个呼叫中. 在iOS上,有些字段可能不可用,并将被未定义.

回返情况: Promise<WifiInfo>

自: 7.0.0 (单位:千美元)


已启用

isEnabled() => Promise<IsEnabledResult>

检查设备是否启用了 Wi-Fi . 只能从Android上找到.

回返情况: Promise<IsEnabledResult>

自: 7.0.0 (单位:千美元)


启动扫描( C)

startScan() => Promise<void>

开始扫描无线网络. 只能从Android上找到. 结果通过“ 网络扫描” 事件听众提供 . 注:可能由于系统节流或硬件问题而失败.

自: 7.0.0 (单位:千美元)


检查( )

checkPermissions() => Promise<PermissionStatus>

请检查当前位置访问权限状态 . 两个平台的Wi-Fi操作需要位置许可.

回返情况: Promise<PermissionStatus>

自: 7.0.0 (单位:千美元)


请求(...)

requestPermissions(options?: RequestPermissionsOptions | undefined) => Promise<PermissionStatus>

请求用户的定位权限 . 两个平台的Wi-Fi操作需要位置许可.

参数类型说明
optionsRequestPermissionsOptions- 可选许可请求选项

回返情况: Promise<PermissionStatus>

自: 7.0.0 (单位:千美元)


添加倾听器( “ 网络扫描” ,...)

addListener(eventName: 'networksScanned', listenerFunc: () => void) => Promise<PluginListenerHandle>

添加“ 网络扫描” 事件的听众 . 只能从Android上找到. 当有Wi-Fi扫描结果时,此事件即被发射.

参数类型说明
eventName'networksScanned'- 事件名称( 网络扫描)
listenerFunc() => void- 执行的召回功能

回返情况: Promise<PluginListenerHandle>

自: 7.0.0 (单位:千美元)


删除所有收听器( )

removeAllListeners() => Promise<void>

删除此插件的所有听众 .

自: 7.0.0 (单位:千美元)


isNetwork 已保存(...)

isNetworkSaved(options: IsNetworkSavedOptions) => Promise<IsNetworkSavedResult>

请检查date=中的日期值 (帮助) 与给定的SSID的网络是否已被此应用程序所保存/配置 . 在Android SDK 30+上,此检查应用程序的Wi-Fi网络建议. 在更古老的Android(包括SDK 29)上,这个检查系统所配置的网络列表. 在iOS上,此选项检查此应用程序管理的热点配置. 使用此选项来决定是调用 adNetwork () (第一次) 还是连接 (已经保存) .

参数类型说明
optionsIsNetworkSavedOptions- 包含 SSID 选项以检查

回返情况: Promise<IsNetworkSavedResult>

自: 8.2.0 (中文(简体) )


共享网络(...)

shareNetwork(options?: ShareNetworkOptions | undefined) => Promise<ShareNetworkResult>

使用平台-本地共享流量共享Wi-Fi网络资质.

在Android 10+上,这使用了Wi-Fi Easy Connection(DPP). 何时 dppUri 提供系统 向目标设备提供证书。 否则,它打开系统UI来分享 当前或指定的网络( 选择通过 QR 代码, 当 ssid 财务报告和审定财务报表 password (见提供).

在iOS 26.2+上,这使用配对的AccessorySetupKit的Wi-Fi基础设施框架 随从. 主机应用程序必须先配对附属设备,然后通过 bluetoothIdentifier 或者说 accessoryIdentifier。应用程序还需要 com.apple.developer.wifi-infrastructure 权利.

参数类型说明
optionsShareNetworkOptions- 共享选项

回返情况: Promise<ShareNetworkResult>

自: 8.4.0 (单位:百万美元)


获取 PluginVersion ()

getPluginVersion() => Promise<{ version: string; }>

获取本地插件版本 .

回返情况: Promise<{ version: string; }>

自: 7.0.0 (单位:千美元)


接口

添加网络选项

添加网络的选项

Prop类型说明默认自兹
ssidstring要添加的网络SSID7.0.0 (单位:千美元)
passwordstring网络的密码( 开放式网络的选项)7.0.0 (单位:千美元)
isHiddenSsidboolean网络是否隐藏( 只有Android)false7.0.0 (单位:千美元)
securityTypeNetworkSecurityType网络的安全类型( 只有Android)NetworkSecurityType.WPA2_PSK7.0.0 (单位:千美元)

连接选项

连接到网络的选项

Prop类型说明默认自兹
ssidstring要连接到的网络 SSID7.0.0 (单位:千美元)
passwordstring网络的密码( 开放式网络的选项)7.0.0 (单位:千美元)
isHiddenSsidboolean网络是否隐藏( 只有Android)false7.0.0 (单位:千美元)
autoRouteTrafficboolean是否通过连接的Wi-Fi网络自动引导应用程序流量( 只有Android) 当启用时, 它使用 ConnectivityManager. bindProcessToNetwork () 将应用进程绑定到连接的网络 这对连接本地/设备托管的AP(如ESP32,IoT设备)来说是有用的,它们没有互联网接入.false7.0.0 (单位:千美元)
timeoutMsnumber最大时间( 毫秒) 等待确认设备与请求的 SSID 相关, 然后再拒绝 CONNECTION_TIMEOUT。如果提供了正数,则必须是正数.300008.5.0 (中文(简体) )

断开选项

断开网络的选项

Prop类型说明自兹
ssidstring要断开的网络的 SSID (可选)7.0.0 (单位:千美元)

Get Available Networks Result (英语)

可用网络获取的结果( )

Prop类型说明自兹
networksNetwork[]现有网络清单7.0.0 (单位:千美元)

网络

代表一个无线网络

Prop类型说明自兹
ssidstring网络的SSID7.0.0 (单位:千美元)
rssinumberDBm中的信号强度7.0.0 (单位:千美元)
securityTypesNetworkSecurityType[]此网络支持的安全类型( Android SDK 33+)7.0.0 (单位:千美元)

获取 IpAddress 版本

由 gepAddress () 生成

Prop类型说明自兹
ipAddressstring设备的 IP 地址7.0.0 (单位:千美元)

获取 Rssi 成果

由 gessi () 生成

Prop类型说明自兹
rssinumberDBm中的信号强度7.0.0 (单位:千美元)

获取SidResult 数据

由 getSid( ) 生成

Prop类型说明自兹
ssidstring当前网络的 SSID7.0.0 (单位:千美元)

维菲信息

综合无线网络信息

Prop类型说明自兹
ssidstring当前网络的 SSID( 网络名称)7.0.0 (单位:千美元)
bssidstring接入点的BSSID(MAC地址). 在iOS上无法获取.7.0.0 (单位:千美元)
ipstring设备在网络上的IP地址7.0.0 (单位:千美元)
frequencynumberMHz中的网络频率. 在iOS上无法获取.7.0.0 (单位:千美元)
linkSpeednumberMbps中的连接速度. 在iOS上无法获取.7.0.0 (单位:千美元)
signalStrengthnumber信号强度(0-100). 由Android上的RSSI计算. 在iOS上无法获取.7.0.0 (单位:千美元)

已启用结果

产自: Enabled ()

Prop类型说明自兹
enabledbooleanWi-Fi 是否启用7.0.0 (单位:千美元)

权限状态

权限状态

Prop类型说明自兹
locationPermissionState位置权限状态7.0.0 (单位:千美元)

请求允许选项

请求权限的选项

Prop类型说明自兹
permissions'location'[]请求权限7.0.0 (单位:千美元)

插件听筒

Prop类型
remove() => Promise<void>

网络储蓄结果

产自:Network Saved ()

Prop类型说明自兹
isSavedboolean此应用程序是否已保存/ 配置网络8.2.0 (中文(简体) )

IsNetwork 已保存选项

检查网络是否保存的选项

Prop类型说明自兹
ssidstring要检查的网络 SSID8.2.0 (中文(简体) )

共享网络

共享网络( )

Prop类型说明自兹
startedboolean平台共享流量是启动还是完成.8.4.0 (单位:百万美元)
authorizationStateWifiSharingAuthorizationStateiOS: 授权状态后 requestAuthorization,根据请求.8.4.0 (单位:百万美元)
askToShareStateWifiSharingAskStateiOS:结果 askToShare 应请求.8.4.0 (单位:百万美元)

共享网络选项

共享无线网络证书的选项

Prop类型说明默认自兹
dppUristringAndroid:来自目标设备的Wi-Fi Easy Connection (DPP) URI. 如果提供,将发射系统UI,向该设备提供Wi-Fi证书.8.4.0 (单位:百万美元)
ssidstring网络 SSID通过QR代码在Android上共享. 省略时,系统尽可能使用目前连接的网络.8.4.0 (单位:百万美元)
passwordstring网络 android上的QR代码共享密码. 通过 QR 代码共享特定的 WPA/WPA2/ WPA3 网络时需要 。 iOS不允许从系统读取所保存的Wi-Fi密码.8.4.0 (单位:百万美元)
bluetoothIdentifierstringiOS 26.2+:一对配对的从属SetupKit附属物的蓝牙标识. 在iOS上共享无线基础设施网络的要求,除非 accessoryIdentifier 已经设定.8.4.0 (单位:百万美元)
accessoryIdentifierstringiOS 26.2+: AccessorySetupKit的附属UUUID. 其它查找键当 bluetoothIdentifier 无法使用.8.4.0 (单位:百万美元)
requestAuthorizationbooleaniOS 26.2+:请求初始Wi-Fi网络共享授权用于附属设备.false8.4.0 (单位:百万美元)
askToSharebooleaniOS 26.2+:提示用户与从属共享当前无线网络.true8.4.0 (单位:百万美元)

类型异名

权限状态

'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'

Wifi 共享认证状态

IOS Wi- Fi 基础设施共享返回的授权状态

'authorized' | 'denied' | 'notDetermined' | 'unsupported'

维斯克州

由 iOS Wi- Fi 基础设施返回的结果状态 ask ToShare ()

'shared' | 'declined' | 'cancelled' | 'notNeeded' | 'unsupported'

数字

网络安全类型

成员数值说明自兹
OPEN0无安全的开放网络7.0.0 (单位:千美元)
WEP1WEP 安全7.0.0 (单位:千美元)
WPA2_PSK2WPA/WPA2 个人7.0.0 (单位:千美元)
EAP3WPA/WPA2/WPA3 企业7.0.0 (单位:千美元)
SAE4WPA3 个人(SAE)7.0.0 (单位:千美元)
WPA3_ENTERPRISE5WPA3 企业7.0.0 (单位:千美元)
WPA3_ENTERPRISE_192_BIT6WPA3 企业 192- 位模式7.0.0 (单位:千美元)
PASSPOINT7通过点网络7.0.0 (单位:千美元)
OWE8增强开放( OWE)7.0.0 (单位:千美元)
WAPI_PSK9瓦皮·帕斯克(WAPI PSK)7.0.0 (单位:千美元)
WAPI_CERT10WAPI 证书7.0.0 (单位:千美元)

版本与发布记录

@capgo/capacitor-wifi 共发布 41 个版本,首次发布于 2025/11/19;过去 12 个月发布了 41 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.5.9latest2026/10/1525 天前
8.5.82026/10/1326 天前
8.5.72026/10/1327 天前
8.5.62026/10/091 个月前
8.5.52026/10/081 个月前
8.5.42026/09/161 个月前

其他发布通道:beta → 8.5.0-beta.pr20.13.1。

关于 @capgo/capacitor-wifi 的常见问题

@capgo/capacitor-wifi 是什么?

为您的 Capacitor app 管理 WiFi 连接

如何安装 @capgo/capacitor-wifi?

在项目目录运行 npm install @capgo/capacitor-wifi,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(>=8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capgo/capacitor-wifi 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@capgo/capacitor-wifi 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@capgo/capacitor-wifi 可以商用吗?

@capgo/capacitor-wifi 使用 MPL-2.0 许可。弱 Copyleft:可以商用,也可以和闭源代码一起使用;但如果分发时修改了 MPL 授权的文件,这些文件的修改需以 MPL 开源。以上为概括,不构成法律意见,请以许可原文为准。

@capgo/capacitor-wifi 的下载量有多少?

根据 npm 官方下载统计,@capgo/capacitor-wifi 在 2026/10/09 – 2026/11/07 这 30 天内被下载 53,105 次,日均约 1,770 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@capgo/capacitor-wifi 还在维护吗?

最新版本 8.5.9 发布于 2026/10/15(25 天前);至今共发布 41 个版本,其中过去 12 个月发布了 41 个;首次发布于 2025/11/19。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。