plugin_wifi_connect
प्रदान किए गए SSID या SSID पूर्वसर्ग के साथ वाई-फाई उपकरणों में सरल कनेक्शन की अनुमति देने वाला एक कम निर्भरता वाला फ्लटर प्लगइन
नए संस्करण मैं द्वारा अपडेट किए जाएंगे
{"sdk":"flutter"}{"sdk":"flutter"}>=1.0.0 <3.0.0यह अंग्रेज़ी मूल स्नैपशॉट है। नवीनतम सामग्री GitHub पर देखें।
Flutter connector for Wi‑Fi devices
Low‑dependency plugin to simplify automatic connection to devices via SSID or SSID prefix. Compatible with Android 10+ (API 29+) and iOS 11+.
Conector Flutter para dispositivos Wi‑Fi
Plugin com baixa dependência para facilitar a conexão automática a dispositivos via SSID ou prefixo de SSID. Compatível com Android 10+ (API 29+) e iOS 11+.
Instalar via pub.dev (recomendado):
dependencies:
plugin_wifi_connect: ^2.0.2
Ou instalar direto do repositório (desenvolvimento):
dependencies:
plugin_wifi_connect:
git:
url: https://github.com/chenrilima/plugin_wifi_connect.git
ref: main
Depois:
flutter pub get
✅ Connects to an exact SSID (iOS 11+, Android).
🔍 Connects to SSIDs that match a prefix (iOS 13+, Android).
📡 Compatible with IoT devices that use unique SSIDs.
⚙️ Efficient strategy on Android: scans and connects by prefix (requires runtime permission ACCESS_FINE_LOCATION).
✅ Conecta-se a um SSID exato (iOS 11+, Android).
🔍 Conecta-se a SSIDs que combinam um prefixo (iOS 13+, Android).
📡 Compatível com dispositivos IoT que usam SSIDs únicos.
⚙️ Estratégia eficiente no Android: escaneia e conecta por prefixo (requer permissão em tempo de execução ACCESS_FINE_LOCATION).
import 'package:flutter/material.dart';
import 'package:plugin_wifi_connect/plugin_wifi_connect.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) => MaterialApp(home: HomePage());
}
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
String _status = 'idle';
Future<void> _connectDirect() async {
try {
final ok = await PluginWifiConnect.connectToSsid(
ssid: 'MeuDispositivoWiFi',
password: 'senha123',
);
setState(() => _status = ok ? 'Conectado' : 'Falha ao conectar');
} catch (e) {
setState(() => _status = 'Erro: $e');
}
}
Future<void> _connectPrefix() async {
final ok = await PluginWifiConnect.connectToSsidPrefix(
prefix: 'IoTDevice_',
password: 'senhaPadrao',
);
setState(() => _status = ok ? 'Conectado por prefixo' : 'Não encontrado');
}
@override
Widget build(BuildContext context) => Scaffold(
appBar: AppBar(title: Text('plugin_wifi_connect example')),
body: Center(
child: Column(mainAxisSize: MainAxisSize.min, children: [
ElevatedButton(onPressed: _connectDirect, child: Text('Conectar SSID')),
ElevatedButton(onPressed: _connectPrefix, child: Text('Conectar por Prefixo')),
SizedBox(height: 12),
Text(_status),
]),
),
);
}
Android (adicionar no AndroidManifest.xml):
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
Notas iOS:
NEHotspotConfiguration (iOS 11+). Em geral não são necessárias entitlements especiais, mas documente limitações (ex.: redes com captive portal ou redes gerenciadas por MDM podem não funcionar).Se quiser, eu posso também abrir um PR com este README ou commitar direto no branch main.