Um pacote Flutter que notifica quando não há conexão com a internet, além de fornecer ferramentas simples para ajudar a rastrear o status da conexão com a internet.
Orientação gerada a partir de informações públicas. Apenas para referência.
ConnectionNotifier é um pacote Flutter que monitora a conectividade da internet e fornece atualizações em tempo real quando o status da conexão muda. Ele notifica os usuários instantaneamente quando não há acesso à internet, tornando-o ideal para aplicativos que exigem conscientização confiável de rede. O pacote oferece APIs simples para verificar o status da conexão e ouvir eventos de conectividade em múltiplas plataformas. Ele suporta Android, iOS, Web, macOS, Windows e Linux, garantindo ampla compatibilidade. Projetado para facilitar o uso, ajuda os desenvolvedores a implementar um manuseio robusto de rede sem configurações complexas.
Casos de uso
Monitoramento em tempo real do status da rede
Gerenciando cenários offline em aplicativos
Lógica de repetição automática para solicitações de rede
Exibindo elementos da interface do status de conexão
Garantir a sincronização de dados apenas quando online
Melhorando a experiência do usuário durante mudanças de conectividade
Principais recursos
Notificações de alteração de conexão instantânea
API simples para verificar conectividade
Suporte multiplataforma
Leve e fácil integração
Arquitetura orientada a eventos
Rastreamento de estado embutido
Indicado para
Aplicativos que precisam de detecção confiável de rede
Desenvolvedores procurando configuração mínima para verificações de conectividade
Projetos com operações de rede frequentes
Aplicativos voltados para o usuário que exigem feedback claro de conectividade
Equipes priorizando consistência entre plataformas
Considerações
Requer permissão de internet em plataformas móveis
Pode ser necessário um tratamento adicional de erros para casos extremos
Não adequado para cenários de sondagem de alta frequência
Limitado a verificações básicas de conectividade (sem métricas detalhadas de rede)
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
Connection Notifier
A simple way to notify your user about the connection status as well as providing simple tools that help tracking the internet connection status.
Version 4.0+: Now with injectable connectivity handlers, full Navigator 2.0 support, Web support, and seamless support for modern routing solutions.
Version 4.1+: Added async connectivity check via ConnectionNotifierTools.isConnectedAsync.
Gallery
Quick Start
Basic Usage (Without Localization)
If you don't need localization, simply wrap your MaterialApp:
Recommended Approach: Use MaterialApp Builder (Best Practice)
The easiest and most powerful way to handle localization is using the MaterialApp builder pattern. This gives you full access to the localization context:
import'package:connection_notifier/connection_notifier.dart';
import'package:easy_localization/easy_localization.dart'; // or any localization packageimport'package:flutter/material.dart';
classMyAppextendsStatelessWidget{
@overrideWidgetbuild(BuildContext context) {
returnMaterialApp(
locale: context.locale,
supportedLocales: context.supportedLocales,
localizationsDelegates: context.localizationDelegates,
// Use the builder to access localization context
builder: (context, child) => GlobalConnectionNotifier(
connectionNotificationOptions: ConnectionNotificationOptions(
alignment: Alignment.bottomCenter,
// Access localized strings with full context support
connectedText: 'connectionRestored'.tr(context: context),
disconnectedText: 'connectionLost'.tr(context: context),
),
child: child!,
),
home: constMyHomePage(),
);
}
}
Benefits:
✅ Works with any localization package (EasyLocalization, flutter_localizations, intl, etc.)
✅ Messages automatically update when language changes
✅ Full access to localization context
✅ Clean and maintainable
✅ No need for custom widgets or manual locale detection
Alternative: Custom Notification Widgets
If you need more control over the UI, create custom widgets:
// Check if connected (synchronous, last known status)bool isConnected = ConnectionNotifierTools.isConnected;
// Async live check — use when you need a guaranteed up-to-date result,// since isConnected may briefly hold stale data during a connection change.bool isOnline = awaitConnectionNotifierTools.isConnectedAsync;
// Listen to connection changesConnectionNotifierTools.onStatusChange.listen((isConnected) {
print('Connection status: $isConnected');
});
Custom Connection Handler (Inject Your Own Connectivity Source)
The package is agnostic to how connectivity is detected. By default it uses
ConnectionNotifierHandlerImpl (internet_connection_checker_plus). If you have
your own source (socket, native SDK, etc.), implement ConnectionHandler and
pass it to ConnectionNotifierTools.initialize(...).
workspace-bridge-mcp — An MCP server that bridges AI coding agents with multi-project workspaces, enabling cross-project file access, git history, and more.