Skip to content

Repository files navigation

NotificationReader 🔔

O NotificationReader é um aplicativo Android desenvolvido para monitorar notificações de aplicativos bancários e de pagamento, filtrando eventos relevantes (como transações PIX, compras e pagamentos) e enviando os dados capturados para uma API centralizada.

🚀 Funcionalidades

  • Monitoramento em Tempo Real: Escuta notificações de apps como Nubank, Banco do Brasil, Porto Seguro, Google Wallet, entre outros.
  • Filtro Inteligente: Utiliza processamento de texto para identificar apenas notificações relacionadas a transações financeiras.
  • Deduplicação (Debounce): Evita o envio de notificações duplicadas para a API em um curto intervalo de tempo.
  • Persistência: Implementado como um Foreground Service com lógica de reconexão automática para garantir que o monitoramento não seja interrompido pelo sistema.
  • Suporte a Dispositivos Xiaomi: Atalhos e instruções integradas para contornar restrições de economia de bateria e início automático da MIUI.

🛠️ Tecnologias Utilizadas

  • Linguagem: Kotlin
  • Interface: Jetpack Compose (Material 3)
  • Networking: OkHttp para comunicação com a API.
  • Serviços Android: NotificationListenerService e Foreground Service.

📦 Arquitetura

O projeto segue uma estrutura organizada para facilitar a manutenção:

  • network: Comunicação com a API.
  • service: Lógica de processamento e filtragem.
  • ui: Telas e componentes de interface.
  • utils: Utilitários para permissões, bateria e ajustes de hardware.
  • model: Modelos de dados.

⚙️ Como Executar

Pré-requisitos

  • Android Studio Ladybug ou superior.
  • Dispositivo Android com SDK 24 (Android 7.0) ou superior.

Configuração

  1. Clone o repositório.
  2. No diretório raiz do projeto, crie (ou edite) o arquivo local.properties.
  3. Adicione a URL da sua API no seguinte formato:
    API_URL=https://sua-api.com/endpoint

Build e Instalação

  1. Abra o projeto no Android Studio.
  2. Compile o projeto: ./gradlew assembleDebug.
  3. Instale o APK no seu dispositivo.

Configuração no Dispositivo

Para que o app funcione corretamente, você deve seguir estes passos após abrir o app pela primeira vez:

  1. Acesso a Notificações: Clique no card de status e ative a permissão para o "NotificationReader".
  2. Otimização de Bateria: Desative as restrições de bateria para o app (coloque em "Sem Restrições").
  3. Xiaomi (MIUI):
    • Ative o "Início Automático".
    • No menu de apps recentes, segure o app e clique no ícone de Cadeado 🔒 para evitar que o sistema o feche.

🧪 Testes

Você pode enviar um POST de teste diretamente pela interface do aplicativo para verificar se a sua API está recebendo os dados corretamente.


Desenvolvido por Juliano Biffi.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages