Einstieg
Kopieren Sie eine Einrichtungsvorlage mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-wifi`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/wifi/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Installieren
Abschnitt mit dem Titel „Installieren“bun add @capgo/capacitor-wifibunx cap syncImportieren
Abschnitt mit dem Titel „Importieren“import { CapacitorWifi } from '@capgo/capacitor-wifi';API Übersicht
Übersicht mit dem Titel “API Übersicht”addNetwork
Übersicht mit dem Titel “addNetwork”Ein Systemdialog zum Hinzufügen eines Wi-Fi-Netzwerks zum Gerät anzeigen. Bei Android SDK 30+ öffnet dies die Systemeinstellungen für Wi-Fi mit dem Netzwerk vorab ausgefüllt. Bei iOS verbindet dies direkt mit dem Netzwerk.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.addNetwork({ ssid: 'MyNetwork', password: 'mypassword', isHiddenSsid: false, securityType: NetworkSecurityType.WPA2_PSK});Zum Wi-Fi-Netzwerk verbinden. Bei Android erstellt dies eine temporäre Verbindung, die standardmäßig nicht den Datenverkehr durch das Netzwerk leitet. Setzen Sie autoRouteTraffic auf true, um den Anwendungsverkehr an das verbundene Netzwerk (nützlich für lokale/gerätegehostete APs) zu binden. Für eine persistente Verbindung bei Android verwenden Sie stattdessen addNetwork(). Bei iOS erstellt dies eine persistente Verbindung.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.connect({ ssid: 'MyNetwork', password: 'mypassword', autoRouteTraffic: true // Android only: route app traffic through this network});disconnect
Übersicht mit dem Titel “disconnect”Vom aktuellen Wi-Fi-Netzwerk trennen. Bei iOS trennt dies nur von Netzwerken, die über diesen Plugin hinzugefügt wurden.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.disconnect();getAvailableNetworks
Übersicht mit dem Titel “getAvailableNetworks”Liste der verfügbaren Wi-Fi-Netzwerke aus der letzten Scan anzeigen. Nur auf Android verfügbar.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { networks } = await CapacitorWifi.getAvailableNetworks();networks.forEach(network => { console.log(`SSID: ${network.ssid}, Signal: ${network.rssi} dBm`);});getIpAddress
Abschnitt mit dem Titel “getIpAddress”Zeige die aktuelle IP-Adresse des Geräts an. Verfügbar auf beiden Android- und iOS-Geräten.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { ipAddress } = await CapacitorWifi.getIpAddress();console.log('IP Address:', ipAddress);Zeige den Empfangsstärke-Indikator (RSSI) des aktuellen Netzwerks in dBm an. Nur auf Android verfügbar.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { rssi } = await CapacitorWifi.getRssi();console.log('Signal strength:', rssi, 'dBm');Zeige den Dienst-Set-Identifier (SSID) des aktuellen Netzwerks an. Verfügbar auf beiden Android- und iOS-Geräten.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { ssid } = await CapacitorWifi.getSsid();console.log('Connected to:', ssid);getWifiInfo
Abschnitt mit dem Titel “getWifiInfo”Get umfassende Informationen über das derzeit verbundene WiFi-Netzwerk. Diese Methode liefert detaillierte Netzwerkinformationen einschließlich SSID, BSSID, IP-Adresse, frequenz, Linkgeschwindigkeit und Signalstärke in einem Aufruf. Auf iOS sind einige Felder möglicherweise nicht verfügbar und werden als undefined angezeigt.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const info = await CapacitorWifi.getWifiInfo();console.log('Network:', info.ssid);console.log('BSSID:', info.bssid);console.log('IP:', info.ip);console.log('Frequency:', info.frequency, 'MHz');console.log('Speed:', info.linkSpeed, 'Mbps');console.log('Signal:', info.signalStrength);Überprüfen Sie, ob Wi-Fi auf dem Gerät aktiviert ist. Nur auf Android verfügbar.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const { enabled } = await CapacitorWifi.isEnabled();console.log('WiFi is', enabled ? 'enabled' : 'disabled');Starten Sie die Suche nach WiFi-Netzwerken. Nur auf Android verfügbar. Die Ergebnisse werden über den Ereignislistener „networksScanned“ geliefert. Hinweis: Es kann aufgrund von Systembeschränkungen oder Hardwareproblemen fehlschlagen.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
await CapacitorWifi.addListener('networksScanned', () => { console.log('Scan completed');});await CapacitorWifi.startScan();checkPermissions
Abschnitt mit der Überschrift „checkPermissions“Überprüfen Sie den aktuellen Zustand der Berechtigung für die Standortzugriffsberechtigung. Die Standortberechtigung ist für WiFi-Operationen auf beiden Plattformen erforderlich.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const status = await CapacitorWifi.checkPermissions();console.log('Location permission:', status.location);requestPermissions
Abschnitt mit der Überschrift „requestPermissions“Berechtigung zum Zugriff auf die Standortdaten anfordern.
import { CapacitorWifi } from '@capgo/capacitor-wifi';
const status = await CapacitorWifi.requestPermissions();if (status.location === 'granted') { console.log('Permission granted');}In den Zwischenablage kopieren
TypenverweisAddNetworkOptions
Abschnitt mit dem Titel „Typenverweis“Abschnitt mit dem Titel „AddNetworkOptions“
export interface AddNetworkOptions { /** * The SSID of the network to add * * @since 7.0.0 */ ssid: string;
/** * The password for the network (optional for open networks) * * @since 7.0.0 */ password?: string;
/** * Whether the network is hidden (Android only) * * @since 7.0.0 * @default false */ isHiddenSsid?: boolean;
/** * The security type of the network (Android only) * * @since 7.0.0 * @default NetworkSecurityType.WPA2_PSK */ securityType?: NetworkSecurityType;}ConnectOptions
In den Zwischenablage kopierenAbschnitt mit dem Titel „ConnectOptions“
export interface ConnectOptions { /** * The SSID of the network to connect to * * @since 7.0.0 */ ssid: string;
/** * The password for the network (optional for open networks) * * @since 7.0.0 */ password?: string;
/** * Whether the network is hidden (Android only) * * @since 7.0.0 * @default false */ isHiddenSsid?: boolean;
/** * Whether to automatically route app traffic through the connected Wi-Fi network (Android only) * When enabled, it binds the app process to the connected network using ConnectivityManager.bindProcessToNetwork() * This is useful for connecting to local/device-hosted APs (e.g., ESP32, IoT devices) that don't have internet access. * * @since 7.0.0 * @default false */ autoRouteTraffic?: boolean;}DisconnectOptions
In den Zwischenablage kopierenAbschnitt mit dem Titel „DisconnectOptions“
export interface DisconnectOptions { /** * The SSID of the network to disconnect from (optional) * * @since 7.0.0 */ ssid?: string;}GetAvailableNetworksResult
Abschnitt mit dem Titel „GetAvailableNetworksResult“Ergbnis von getAvailableNetworks().
export interface GetAvailableNetworksResult { /** * List of available networks * * @since 7.0.0 */ networks: Network[];}GetIpAddressResult
Abschnitt mit dem Titel „GetIpAddressResult“Ergbnis von getIpAddress().
export interface GetIpAddressResult { /** * The device's IP address * * @since 7.0.0 */ ipAddress: string;}GetRssiResult
Abschnitt mit dem Titel „GetRssiResult“Ergbnis von getRssi().
export interface GetRssiResult { /** * The signal strength in dBm * * @since 7.0.0 */ rssi: number;}GetSsidResult
Abschnitt mit dem Titel „GetSsidResult“Ergbnis von getSsid().
export interface GetSsidResult { /** * The SSID of the current network * * @since 7.0.0 */ ssid: string;}Zusammenfassende Informationen zum WiFi.
export interface WifiInfo { /** * The SSID (network name) of the current network * * @since 7.0.0 */ ssid: string;
/** * The BSSID (MAC address) of the access point. * Not available on iOS. * * @since 7.0.0 */ bssid?: string;
/** * The device's IP address on the network * * @since 7.0.0 */ ip: string;
/** * The network frequency in MHz. * Not available on iOS. * * @since 7.0.0 */ frequency?: number;
/** * The connection speed in Mbps. * Not available on iOS. * * @since 7.0.0 */ linkSpeed?: number;
/** * The signal strength (0-100). * Calculated from RSSI on Android. * Not available on iOS. * * @since 7.0.0 */ signalStrength?: number;}IsEnabledResult
Abschnitt mit dem Titel “IsEnabledResult”Ergbnis von isEnabled().
export interface IsEnabledResult { /** * Whether Wi-Fi is enabled * * @since 7.0.0 */ enabled: boolean;}PermissionStatus
Abschnitt mit dem Titel “PermissionStatus”Zustand der Berechtigung.
export interface PermissionStatus { /** * Location permission state * * @since 7.0.0 */ location: PermissionState;}RequestPermissionsOptions
Abschnitt mit dem Titel “RequestPermissionsOptions”Optionen für die Anfrage von Berechtigungen.
export interface RequestPermissionsOptions { /** * Permissions to request * * @since 7.0.0 */ permissions?: 'location'[];}NetworkSecurityType
Abschnitt mit dem Titel “Netzwerksicherheitstyp”Netzwerksicherheitstypen.
export enum NetworkSecurityType { /** * Open network with no security * * @since 7.0.0 */ OPEN = 0,
/** * WEP security * * @since 7.0.0 */ WEP = 1,
/** * WPA/WPA2 Personal (PSK) * * @since 7.0.0 */ WPA2_PSK = 2,
/** * WPA/WPA2/WPA3 Enterprise (EAP) * * @since 7.0.0 */ EAP = 3,
/** * WPA3 Personal (SAE) * * @since 7.0.0 */ SAE = 4,
/** * WPA3 Enterprise * * @since 7.0.0 */ WPA3_ENTERPRISE = 5,
/** * WPA3 Enterprise 192-bit mode * * @since 7.0.0 */ WPA3_ENTERPRISE_192_BIT = 6,
/** * Passpoint network * * @since 7.0.0 */ PASSPOINT = 7,
/** * Enhanced Open (OWE) * * @since 7.0.0 */ OWE = 8,
/** * WAPI PSK * * @since 7.0.0 */ WAPI_PSK = 9,
/** * WAPI Certificate * * @since 7.0.0 */ WAPI_CERT = 10,}Quelle der Wahrheit
Abschnitt mit dem Titel “Quelle der Wahrheit”Diese Seite wurde von dem Plugin generiert. src/definitions.tsRe-run die Synchronisation, wenn die öffentliche API sich im Quellcode ändert.