Buscar pacotes, repositórios e categorias de apps

Repositório GitHubchenrilima/plugin_wifi_connect

plugin_wifi_connect

novas versões serão atualizadas por mim

Capa do projeto plugin_wifi_connect
Estrelas
6
Forks
6
Último push (UTC)
17 de set. de 2026
Status do projeto
Ativo

README original

Texto original em inglês. Visite o GitHub para a versão atual.

🚀 plugin_wifi_connect

pub package license

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+.


💻 Pub Dev / Instalação

  • Pub: https://pub.dev/packages/plugin_wifi_connect

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

🎯 Features / Funcionalidades

  • ✅ 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).


🔧 Usage / Uso (exemplo completo)

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),
      ]),
    ),
  );
}

📱 Permissions / Notas por plataforma

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:

  • Usa 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).

📚 Links & Contribuição

  • Example: example/
  • CHANGELOG: CHANGELOG.md
  • Report issues: https://github.com/chenrilima/plugin_wifi_connect/issues
  • Contributing: abra um PR ou issue para discutir mudanças.

Se quiser, eu posso também abrir um PR com este README ou commitar direto no branch main.

Carlos Henrique GitHub avatar
Autor no GitHub

Carlos Henrique ↗

leadership and coding </>

Company HeroTaboão da Serra
LinguagensKotlinDartSwiftRubyObjective-C

Pacotes publicados por este repositório

Dependências usadas

Lista de dependências 3 itens

  • flutter{"sdk":"flutter"}
  • flutter_testDesenvolvimento{"sdk":"flutter"}
  • flutter_lintsDesenvolvimento>=1.0.0 <3.0.0

Como escolher um repositório para seu projeto?

Filtre pelo caso de uso, compare a atividade e confira o projeto original antes de adotá-lo.

  1. Busque por nome, autor ou descrição e filtre por tema.
  2. Compare estrelas, forks e envios recentes. Estrelas indicam interesse, mas não garantem qualidade.
  3. Confira o README, a licença e as issues no GitHub antes de usar o projeto.

Fontes e manutenção

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗