Buscar pacotes, repositórios e categorias de apps

Capa de in_app_idle_detector
Detalhes do pacotev0.0.1

in_app_idle_detector

Um plugin do Flutter para detectar inatividade do usuário (ocioso) em todas as plataformas.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
174
Curtidas
6
Pontos Pub
150

Instalar pacote

flutter pub add in_app_idle_detector

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O pacote in_app_idle_detector é um plugin cross-platform do Flutter que detecta inatividade do usuário (estado ocioso) em Android, iOS, Web, macOS, Windows e Linux. Ele monitora interações do usuário, como toque, movimentação do mouse e entrada do teclado, para determinar quando o usuário está inativo por um período especificado. Isso permite que desenvolvedores acionem ações como tempo limite de tela, expiração de sessão ou logout automático. O plugin é leve e se integra perfeitamente em aplicativos Flutter existentes sem exigir alterações no código nativo.

Casos de uso

  • Tempo limite automático de sessão
  • Rastreamento de atividade do usuário
  • Bloqueio de tela ociosa
  • Evite o acesso não autorizado
  • Desconexão automática após inatividade

Principais recursos

  • Suporte multiplataforma
  • Detecção em tempo real de inatividade
  • Duração de inatividade configurável
  • Nenhum código nativo necessário
  • Integração simples da API

Indicado para

  • Aplicativos sensíveis à segurança
  • Gerenciamento de sessão baseado em tempo
  • Aplicativos de quiosque ou terminal público
  • Aplicativos que exigem monitoramento de engajamento do usuário

Considerações

  • Pode consumir bateria de forma leve em aplicativos de longa execução
  • Requer permissão em algumas plataformas
  • O comportamento pode variar levemente entre plataformas
  • Não adequado para necessidades de temporização de alta precisão

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Pub Version License Platform

💤 in_app_idle_detector

A lightweight Flutter plugin that detects user inactivity (idle state) across all platforms: Android, iOS, Web, Windows, macOS, and Linux.

Perfect for banking apps, secure dashboards, or any app that needs to react when the user goes idle.


✨ Features

  • 🔄 Detect inactivity after custom timeout
  • 👨‍💻 Keyboard, mouse, touch & app lifecycle supported
  • 🖥️ Cross-platform (Android, iOS, Web, Desktop)
  • ⏱️ Remaining time tracking
  • 🛠️ Lightweight – no native code
  • 🔐 Ideal for auto logout, lock screen, and productivity

📦 Installation

dependencies:
  in_app_idle_detector: ^0.0.1

Working Demo

DEMO DEMO DEMO DEMO

🧑‍💻 Usage

  1. Initialize the plugin (e.g. inside main())
void main() {
  runApp(MyApp());

  InAppIdleDetector.initialize(
    timeout: Duration(seconds: 10), // Set your own duration
    onIdle: () {
      // Called when user goes idle
      print("User is idle");
    },
    onActive: () {
      // Called when user becomes active again
      print("User is active");
    },
  );
}
  1. Show a dialog or take action on idle
showDialog(
  context: navigatorKey.currentContext!,
  builder: (_) => AlertDialog(
    title: Text("Idle Warning"),
    content: Text("You've been inactive for 10 seconds."),
    actions: [
      TextButton(
        onPressed: () {
          Navigator.of(navigatorKey.currentContext!).pop();
        },
        child: Text("Dismiss"),
      ),
    ],
  ),
);
  1. Extra API (Pause / Resume / Reset)
InAppIdleDetector.pause();  // Stop tracking temporarily
InAppIdleDetector.resume(); // Resume tracking
InAppIdleDetector.reset();  // Manually reset idle timer
  1. Get Remaining Time
final timeLeft = InAppIdleDetector.remainingTime;
final idleStatus = InAppIdleDetector.isIdle;

✅ Use Cases

🔒 Auto-logout after inactivity (e.g., in banking apps)

🔐 Lock screen on desktops after idle

⏱️ Countdown timers for session expiration

📉 Inactivity analytics and user behavior tracking

🧪 Platform Support

Platform Supported
✅ Android Yes
✅ iOS Yes
✅ Web Yes
✅ Windows Yes
✅ macOS Yes
✅ Linux Yes

📚 API Summary

Method Description initialize(...) Starts the idle detection system reset() Resets the timer (e.g. after activity) pause() Temporarily disables tracking resume() Resumes tracking isIdle Returns true if currently idle remainingTime Returns Duration until next idle trigger

💡 Tips

Always use navigatorKey.currentContext for dialogs to ensure it works from anywhere. You can build a visual countdown using remainingTime and a Timer.periodic.

Support the Project

If you find this plugin helpful, consider supporting its development:

Your support is greatly appreciated!

Bugs/Requests

Feel free to open an issue if you encounter any problems or think that the plugin is missing some feature.

sheth02parth1299@gmail.com

🙌 Author

Created by Parth Sheth 🧠 Contributions, stars, and feedback are welcome!

Categorias

Dependências

Lista de dependências 2 itens

  • plugin_platform_interface^2.0.2
  • web^1.0.0

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.