@ capgo/ 电容- wifi
从 Capacitor app 管理 Wi-Fi:连接到网络,读取当前的SSID,IP和信号,并在Android上扫描附近的网络.
🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用
@capgo/capacitor-wifi在您的电容应用程序中:npx skills add Cap-go/capgo-skills。然后问你的经纪人: 添加@capgo/capacor-wifi到我的Capacitor应用上,并把它接上。" 代理设置指南 • 妇女 主机磁共振
主要特点
- 连接数字 :
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 密码
addNetwork(...)connect(...)disconnect(...)getAvailableNetworks()getIpAddress()getRssi()getSsid()getWifiInfo()isEnabled()startScan()checkPermissions()requestPermissions(...)addListener('networksScanned', ...)removeAllListeners()isNetworkSaved(...)shareNetwork(...)getPluginVersion()- 接口
- 类型异名
- 数字
管理设备 WiFi 连接的 WiFi 插件
添加网络(...)
addNetwork(options: AddNetworkOptions) => Promise<void>
显示一个系统对话框以添加到设备中的无线网络 . 在Android SDK 30+上,这打开了系统Wi-Fi设置,并预装了网络. 在iOS上,这直接连接到网络.
| 参数 | 类型 | 说明 |
|---|---|---|
options | AddNetworkOptions | - 说吧 网络 配置选项 |
自: 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。 。 。 .
| 参数 | 类型 | 说明 |
|---|---|---|
options | ConnectOptions | - 连接选项 |
自: 7.0.0 (单位:千美元)
断开(...)
disconnect(options?: DisconnectOptions | undefined) => Promise<void>
与当前无线网络断开连接. 在iOS上,仅与通过此插件添加的网络断开.
| 参数 | 类型 | 说明 |
|---|---|---|
options | DisconnectOptions | - 可选断开选项 |
自: 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操作需要位置许可.
| 参数 | 类型 | 说明 |
|---|---|---|
options | RequestPermissionsOptions | - 可选许可请求选项 |
回返情况: 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 () (第一次) 还是连接 (已经保存) .
| 参数 | 类型 | 说明 |
|---|---|---|
options | IsNetworkSavedOptions | - 包含 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 权利.
| 参数 | 类型 | 说明 |
|---|---|---|
options | ShareNetworkOptions | - 共享选项 |
回返情况: Promise<ShareNetworkResult>
自: 8.4.0 (单位:百万美元)
获取 PluginVersion ()
getPluginVersion() => Promise<{ version: string; }>
获取本地插件版本 .
回返情况: Promise<{ version: string; }>
自: 7.0.0 (单位:千美元)
接口
添加网络选项
添加网络的选项
| Prop | 类型 | 说明 | 默认 | 自兹 |
|---|---|---|---|---|
ssid | string | 要添加的网络SSID | 7.0.0 (单位:千美元) | |
password | string | 网络的密码( 开放式网络的选项) | 7.0.0 (单位:千美元) | |
isHiddenSsid | boolean | 网络是否隐藏( 只有Android) | false | 7.0.0 (单位:千美元) |
securityType | NetworkSecurityType | 网络的安全类型( 只有Android) | NetworkSecurityType.WPA2_PSK | 7.0.0 (单位:千美元) |
连接选项
连接到网络的选项
| Prop | 类型 | 说明 | 默认 | 自兹 |
|---|---|---|---|---|
ssid | string | 要连接到的网络 SSID | 7.0.0 (单位:千美元) | |
password | string | 网络的密码( 开放式网络的选项) | 7.0.0 (单位:千美元) | |
isHiddenSsid | boolean | 网络是否隐藏( 只有Android) | false | 7.0.0 (单位:千美元) |
autoRouteTraffic | boolean | 是否通过连接的Wi-Fi网络自动引导应用程序流量( 只有Android) 当启用时, 它使用 ConnectivityManager. bindProcessToNetwork () 将应用进程绑定到连接的网络 这对连接本地/设备托管的AP(如ESP32,IoT设备)来说是有用的,它们没有互联网接入. | false | 7.0.0 (单位:千美元) |
timeoutMs | number | 最大时间( 毫秒) 等待确认设备与请求的 SSID 相关, 然后再拒绝 CONNECTION_TIMEOUT。如果提供了正数,则必须是正数. | 30000 | 8.5.0 (中文(简体) ) |
断开选项
断开网络的选项
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
ssid | string | 要断开的网络的 SSID (可选) | 7.0.0 (单位:千美元) |
Get Available Networks Result (英语)
可用网络获取的结果( )
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
networks | Network[] | 现有网络清单 | 7.0.0 (单位:千美元) |
网络
代表一个无线网络
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
ssid | string | 网络的SSID | 7.0.0 (单位:千美元) |
rssi | number | DBm中的信号强度 | 7.0.0 (单位:千美元) |
securityTypes | NetworkSecurityType[] | 此网络支持的安全类型( Android SDK 33+) | 7.0.0 (单位:千美元) |
获取 IpAddress 版本
由 gepAddress () 生成
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
ipAddress | string | 设备的 IP 地址 | 7.0.0 (单位:千美元) |
获取 Rssi 成果
由 gessi () 生成
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
rssi | number | DBm中的信号强度 | 7.0.0 (单位:千美元) |
获取SidResult 数据
由 getSid( ) 生成
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
ssid | string | 当前网络的 SSID | 7.0.0 (单位:千美元) |
维菲信息
综合无线网络信息
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
ssid | string | 当前网络的 SSID( 网络名称) | 7.0.0 (单位:千美元) |
bssid | string | 接入点的BSSID(MAC地址). 在iOS上无法获取. | 7.0.0 (单位:千美元) |
ip | string | 设备在网络上的IP地址 | 7.0.0 (单位:千美元) |
frequency | number | MHz中的网络频率. 在iOS上无法获取. | 7.0.0 (单位:千美元) |
linkSpeed | number | Mbps中的连接速度. 在iOS上无法获取. | 7.0.0 (单位:千美元) |
signalStrength | number | 信号强度(0-100). 由Android上的RSSI计算. 在iOS上无法获取. | 7.0.0 (单位:千美元) |
已启用结果
产自: Enabled ()
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
enabled | boolean | Wi-Fi 是否启用 | 7.0.0 (单位:千美元) |
权限状态
权限状态
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
location | PermissionState | 位置权限状态 | 7.0.0 (单位:千美元) |
请求允许选项
请求权限的选项
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
permissions | 'location'[] | 请求权限 | 7.0.0 (单位:千美元) |
插件听筒
| Prop | 类型 |
|---|---|
remove | () => Promise<void> |
网络储蓄结果
产自:Network Saved ()
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
isSaved | boolean | 此应用程序是否已保存/ 配置网络 | 8.2.0 (中文(简体) ) |
IsNetwork 已保存选项
检查网络是否保存的选项
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
ssid | string | 要检查的网络 SSID | 8.2.0 (中文(简体) ) |
共享网络
共享网络( )
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
started | boolean | 平台共享流量是启动还是完成. | 8.4.0 (单位:百万美元) |
authorizationState | WifiSharingAuthorizationState | iOS: 授权状态后 requestAuthorization,根据请求. | 8.4.0 (单位:百万美元) |
askToShareState | WifiSharingAskState | iOS:结果 askToShare 应请求. | 8.4.0 (单位:百万美元) |
共享网络选项
共享无线网络证书的选项
| Prop | 类型 | 说明 | 默认 | 自兹 |
|---|---|---|---|---|
dppUri | string | Android:来自目标设备的Wi-Fi Easy Connection (DPP) URI. 如果提供,将发射系统UI,向该设备提供Wi-Fi证书. | 8.4.0 (单位:百万美元) | |
ssid | string | 网络 SSID通过QR代码在Android上共享. 省略时,系统尽可能使用目前连接的网络. | 8.4.0 (单位:百万美元) | |
password | string | 网络 android上的QR代码共享密码. 通过 QR 代码共享特定的 WPA/WPA2/ WPA3 网络时需要 。 iOS不允许从系统读取所保存的Wi-Fi密码. | 8.4.0 (单位:百万美元) | |
bluetoothIdentifier | string | iOS 26.2+:一对配对的从属SetupKit附属物的蓝牙标识. 在iOS上共享无线基础设施网络的要求,除非 accessoryIdentifier 已经设定. | 8.4.0 (单位:百万美元) | |
accessoryIdentifier | string | iOS 26.2+: AccessorySetupKit的附属UUUID. 其它查找键当 bluetoothIdentifier 无法使用. | 8.4.0 (单位:百万美元) | |
requestAuthorization | boolean | iOS 26.2+:请求初始Wi-Fi网络共享授权用于附属设备. | false | 8.4.0 (单位:百万美元) |
askToShare | boolean | iOS 26.2+:提示用户与从属共享当前无线网络. | true | 8.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'
数字
网络安全类型
| 成员 | 数值 | 说明 | 自兹 |
|---|---|---|---|
OPEN | 0 | 无安全的开放网络 | 7.0.0 (单位:千美元) |
WEP | 1 | WEP 安全 | 7.0.0 (单位:千美元) |
WPA2_PSK | 2 | WPA/WPA2 个人 | 7.0.0 (单位:千美元) |
EAP | 3 | WPA/WPA2/WPA3 企业 | 7.0.0 (单位:千美元) |
SAE | 4 | WPA3 个人(SAE) | 7.0.0 (单位:千美元) |
WPA3_ENTERPRISE | 5 | WPA3 企业 | 7.0.0 (单位:千美元) |
WPA3_ENTERPRISE_192_BIT | 6 | WPA3 企业 192- 位模式 | 7.0.0 (单位:千美元) |
PASSPOINT | 7 | 通过点网络 | 7.0.0 (单位:千美元) |
OWE | 8 | 增强开放( OWE) | 7.0.0 (单位:千美元) |
WAPI_PSK | 9 | 瓦皮·帕斯克(WAPI PSK) | 7.0.0 (单位:千美元) |
WAPI_CERT | 10 | WAPI 证书 | 7.0.0 (单位:千美元) |