Documentação
Funções JavaScript nativas que você pode chamar diretamente no seu app.
Notificações & Push
Notificações locais, agendamento, loops recorrentes e push remoto via OneSignal.
Envia uma notificação local instantânea para o celular.
Fornece feedback imediato ao usuário fora do app (ex: download concluído, sucesso).
Basta preencher título e texto. Você pode configurar para abrir o app ao clicar.
Android 13+ requer POST_NOTIFICATIONS aceita.
Agenda uma notificação para o futuro. Funciona mesmo com o app fechado.
Engajamento. Permite trazer o usuário de volta ao app em um horário específico.
Agende com um timestamp em milissegundos para o futuro.
Pode atrasar alguns minutos devido ao modo Doze do Android.
Cria um loop de notificações recorrentes. O Android dispara a próxima da lista a cada intervalo.
Ideal para apps de saúde ou rotinas (ex: "Beba água a cada 2h").
Passe uma lista de textos e o intervalo ("2h"). O sistema cicla as mensagens.
Intervalos menores que 1 hora podem ser bloqueados pela bateria do Android.
Cancela uma notificação agendada ou loop pelo ID.
Impedir que um lembrete seja disparado caso a tarefa já tenha sido concluída.
Guarde o ID retornado ao agendar e passe para esta função.
Não afeta notificações push enviadas pelo servidor.
Dispara quando o usuário toca em uma notificação.
Capturar quando o usuário abre o app tocando em uma notificação local.
Ouça o evento na inicialização do app para rotear o usuário para a tela correta.
A notificação precisa ter a propriedade aoClicar configurada para o evento disparar.
Solicita permissão de push remoto (OneSignal). Requer oneSignalAppId no app.json.
Permite enviar campanhas globais para toda a base instalada.
Mostre uma tela explicando os benefícios antes de chamar a função.
Requer o oneSignalAppId preenchido na configuração do app (app.json).
Vincula um ID de usuário ao OneSignal para push direcionado.
Para enviar notificações push apenas para um usuário específico (ex: "Seu pedido saiu").
Passe o ID único (do seu banco de dados) após o login.
Sincroniza diretamente com o servidor do OneSignal.
Adiciona uma tag ao perfil OneSignal do usuário para segmentação.
Segmentar sua base. Permite enviar pushes apenas para assinantes "Premium", por exemplo.
Chame passando chave e valor sempre que o perfil do usuário mudar.
As tags substituem os valores antigos se você usar a mesma chave.
Agenda várias notificações de uma vez.
Planejar múltiplos alertas de uma só vez para campanhas longas.
Passe um array de objetos de notificação com seus timestamps.
Limpe agendamentos antigos se a agenda do usuário mudar.
Solicita permissão de notificações (Android 13+).
No Android moderno, nenhuma notificação aparece sem essa permissão explícita.
Chame antes da primeira notificação ou em uma tela de Onboarding.
O Android exibe um popup do sistema apenas nas primeiras tentativas. Depois, o usuário precisa ir nas Configurações.
Dispara quando o usuário clica em uma notificação push remota (OneSignal).
Processar cliques em pushes remotos (OneSignal) para abrir telas específicas.
Registre o ouvinte assim que o app abrir.
Diferente da notificação local, o payload vem do painel do OneSignal.
Câmera & Mídia
Capture fotos, vídeos, escaneie QR Codes e reconheça texto em imagens.
Abre a câmera e tira uma foto. Pode retornar em base64.
Acelera o envio de fotos para perfil, comprovantes ou inspeções.
Use { base64: true } para exibir um preview imediato ou enviar em JSON para sua API.
Pode retornar nulo se o usuário desistir ou negar a câmera.
Abre a câmera no modo de vídeo.
Para registrar evidências visuais longas (vistorias, relatos).
O retorno traz a URI local do arquivo mp4.
Vídeos são pesados. Cuidado ao tentar convertê-los inteiros para base64.
Abre o scanner de QR Code e retorna o texto identificado.
Agiliza pagamentos, check-ins e leitura de links.
O plugin abre uma interface nativa leve e otimizada para o leitor.
Depende da biblioteca do Google Play Services no aparelho do usuário.
Reconhece texto numa imagem usando ML Kit local (offline).
Extrai texto de documentos, RG, placas, 100% offline.
Passe a imagem e receba strings prontas sem precisar de APIs pagas na nuvem.
Textos escritos à mão ou rasurados podem ter baixa precisão.
Captura a tela atual do WebView e retorna como Data URL.
Para funções de "Salvar Comprovante" ou "Compartilhar meu Perfil".
Chame a função e receba a string base64 da tela atual (sem barras nativas do Android).
Não captura conteúdos protegidos por DRM (ex: reprodutores de filmes).
Arquivos & Storage
Salve, leia, compartilhe e gerencie arquivos dentro do app ou na galeria.
Salva um arquivo no armazenamento do app. Ou abre o seletor nativo usando formato de objeto.
Salvar dados no armazenamento interno ou abrir a tela nativa para salvar em Downloads.
Para internal storage, use salvarArquivo("a.txt", "dado"). Para tela nativa, passe objeto com "conteudo".
Arquivos internos são apagados se o usuário limpar os dados do app.
Lê um arquivo salvo no app. Retorna o conteúdo parseado.
Recuperar o estado offline salvo no armazenamento interno do app.
Basta passar o nome exato que foi salvo anteriormente.
Lança erro se o arquivo não existir. Use arquivoExiste() antes.
Lista todos os arquivos salvos no armazenamento do app.
Para criar um gerenciador de downloads ou painel de arquivos offlines dentro do app.
Retorna um array com o nome, tamanho e data de todos os arquivos internos.
Só lista a pasta privativa do aplicativo, não lista a galeria do usuário.
Exclui um arquivo do armazenamento do app.
Liberar espaço de disco removendo caches ou relatórios antigos.
Passe o nome do arquivo interno.
Ação irreversível.
Abre o seletor de arquivos do Android.
Permite que o usuário envie PDFs, documentos e planilhas para o seu sistema.
Use os filtros de MIME type para forçar apenas a seleção de PDFs, por exemplo.
Retorna URI nativa. Use o FormData ou base64 para enviar via fetch.
Abre o Photo Picker (Android 13+) ou galeria.
Seleção de avatares com a moderna interface nativa do Photo Picker.
Retorna foto selecionada da galeria.
Garante privacidade no Android 13+, não pedindo acesso total a todos os arquivos.
Baixa um arquivo da web e salva no app. Mostra progresso na notificação.
Baixar boletos, PDFs ou vídeos mostrando barra de progresso na notificação nativa.
Passe a URL e o nome do arquivo.
Se a permissão de notificações (POST_NOTIFICATIONS) for negada, o download acontece silenciosamente.
Abre o menu de compartilhamento do Android com texto, link ou arquivo.
Promove a viralidade do app (enviar links, textos ou imagens para outras redes).
Abre o menu (Share Sheet) oficial do Android.
O design da tela de compartilhamento varia conforme a fabricante do celular.
Lê um arquivo com todos os metadados: uri, mimeType, nome, tamanho e tipo (imagem/video/audio/documento).
Inspecionar tamanho, tipo MIME real e metadados de um arquivo interno.
Retorna um objeto enriquecido (ex: saber se é imagem ou vídeo).
Útil antes de tentar fazer uploads para limitar tamanhos de anexos.
Verifica se um arquivo existe no armazenamento do app.
Evita erros de "File Not Found" ao tentar ler dados offlines.
Retorna um booleano simples.
Verifique sempre antes de ler arquivos pesados.
Abre um arquivo salvo no app com o app padrão do Android (PDF no leitor, imagem na galeria, etc).
Abrir PDFs, planilhas ou vídeos no aplicativo nativo padrão do usuário (ex: visualizador de PDF).
Passe o nome do arquivo interno.
Se o usuário não tiver um app compatível instalado, o Android lançará um erro silencioso.
Compartilha um arquivo salvo no app via menu nativo do Android.
Compartilhar um arquivo salvo internamente no WhatsApp, E-mail, etc.
Passe o nome interno. A bridge gera um FileProvider seguro e passa para a Intent.
Não é possível compartilhar pastas, apenas arquivos únicos.
Abre o seletor para múltiplos arquivos.
Fazer upload de múltiplos anexos de uma vez só.
Ativa a seleção múltipla no seletor do sistema.
Retorna array. Pode estourar a memória se o usuário escolher 50 vídeos pesados.
Abre o Photo Picker para múltiplas imagens (Android 13+).
Criar galerias, álbuns ou enviar múltiplas fotos pro servidor.
Usa o seletor focado em imagens.
No Android moderno, roda isolado para garantir a privacidade da galeria.
Salva dados base64 como arquivo. Útil para salvar imagens geradas no canvas.
Salvar no celular do usuário imagens geradas dinamicamente via Canvas do HTML.
Envie a string Base64 e o nome do arquivo. Pode ser salvo na galeria se configurado.
Strings Base64 muito longas travam a RAM do WebView. Evite usar para vídeos grandes.
Copia um arquivo (de escolherArquivo) para o armazenamento do app com notificação de progresso.
Copia um arquivo que o usuário escolheu (via escolherArquivo) para o armazenamento privativo do app.
Passa a URI nativa recebida e copia byte a byte.
Gera uma notificação de cópia. Útil para guardar documentos importantes offline.
Retorna informações de espaço em disco disponível.
Verificar se há espaço livre no celular antes de iniciar um download gigante.
Retorna total e disponível em bytes.
Valores aproximados do disco interno do aparelho.
Áudio & Voz
Grave áudio, sintetize voz, reconheça fala e controle o volume do dispositivo.
Inicia a gravação de áudio pelo microfone. Solicita permissão automaticamente.
Permitir gravação de áudio contínua (ex: botão de gravar áudio no chat).
Chame para iniciar a gravação nativa e liberar a interface do seu app.
Exige permissão RECORD_AUDIO. Não esqueça de tratar quando o usuário negar.
Para a gravação e retorna o áudio em base64.
Encerrar a gravação iniciada por ouvirMic() e receber o arquivo de áudio.
Retorna base64 e dados do arquivo mp4/m4a gerado.
Gera Base64. Em áudios muito longos, considere usar APIs de envio fracionado.
Fala o texto em voz alta usando o Text-to-Speech do Android.
Acessibilidade ou assistentes virtuais dentro do app.
Sintetiza texto em voz humana através da API TextToSpeech.
A qualidade da voz depende do pacote de voz instalado no Android do usuário.
Ativa o reconhecimento de voz e transcreve o áudio.
Digitação por voz para agilizar o preenchimento de formulários longos ou buscas.
Abre o prompt do Google e converte fala em texto (SpeechToText).
Pode precisar de conexão com a internet para ser preciso.
Retorna os volumes atuais e máximos do dispositivo.
Verificar se o celular está no silencioso antes de tocar um aviso importante.
Lê o volume do canal de Mídia, Alarme e Toque.
Alguns aparelhos bloqueiam a leitura precisa em certos modos DND.
Ajusta o volume de um stream (midia, toque, alarme).
Forçar o volume a subir caso o app seja um player de música/vídeo.
Define o volume para a porcentagem especificada.
Pode assustar o usuário se for feito bruscamente.
Para a fala TTS em andamento.
Interromper uma leitura longa em áudio (TextToSpeech) se o usuário mudar de tela.
Cancela imediatamente o áudio sintético ativo.
Seguro de chamar a qualquer momento.
Localização & Sensores
GPS, velocímetro, NFC, proximidade, acelerômetro e orientação do aparelho.
Obtém a posição GPS atual. Solicita permissão automaticamente.
Aplicativos de entrega, geofencing, check-ins ou busca por proximidade.
Força uma leitura instantânea. Use altaPrecisao: true para forçar o GPS (chip).
Pede permissão ACCESS_FINE_LOCATION. Retorna nulo se bloqueado.
Inicia o monitoramento contínuo da posição GPS.
Para apps de corrida (Uber) ou rastreamento em tempo real.
Inicia um monitoramento que continua disparando callbacks.
Consome a bateria vorazmente se o intervalo for muito curto.
Monitora a velocidade em km/h em tempo real via GPS.
Apps de esporte ou alertas de limite de velocidade.
Lê o deslocamento de GPS em km/h e dispara atualizações.
Pode ser impreciso em túneis e subsolos.
Dispara quando o celular é sacudido com força.
Gatilho criativo (ex: "Sacuda o celular para desfazer" ou revelar prêmios).
Ativa o acelerômetro e emite evento ao detectar força brusca.
Pode disparar se o celular estiver num bolso solto durante uma corrida.
Escuta tags NFC quando o app está em primeiro plano.
Check-in de eventos, leitura de cartões de acesso ou crachás de funcionários.
Quando o app estiver aberto e um NFC encostar, o callback dispara os dados da tag.
Apenas para leitura de payload NDEF. O Android bloqueia se o app estiver minimizado.
Dispara quando o sensor de proximidade detecta algo perto.
Pausar vídeos quando o usuário vira a tela para baixo ou encosta o rosto na tela (escutar áudio).
Lê o sensor de proximidade (o mesmo de ligações) e retorna a distância.
Normalmente retorna apenas "Perto" (0) ou "Longe" (5).
Conectividade
Bluetooth, WiFi local entre dispositivos, deep links e redes.
Busca dispositivos Bluetooth pareados ou visíveis.
Descobrir impressoras térmicas, balanças ou outros apps pareados.
Busca ativa via rádio Bluetooth Clássico.
Pode disparar o popup de permissão "Conectar dispositivos próximos" no Android 12+.
Conecta a um dispositivo Bluetooth encontrado.
Estabelecer vínculo via Socket Bluetooth com o aparelho alvo.
Cria uma sala P2P (RFCOMM).
O dispositivo destino precisa estar escutando na mesma interface.
Envia dados JSON para o dispositivo conectado via Bluetooth.
Enviar ordens de impressão (JSON/Texto) ou sincronizar dados offline via Bluetooth.
Dispara um objeto JSON que cai direto no `aoReceberDadosBT` do outro celular.
O dado passa por serialização. Evite enviar imagens gigantes (limite de banda).
Busca dispositivos na rede local via NSD (mesma rede WiFi).
Localizar outros usuários do seu app no mesmo escritório ou rede local Wi-Fi.
Usa descoberta de serviço NSD nativa.
Funciona apenas na mesma rede (Roteador/Hotspot). Rede corporativa pode bloquear o mDNS.
Conecta a um dispositivo WiFi local encontrado.
Criar um canal direto via IP/Porta (Socket TCP local).
Estabelece a conexão contínua de baixa latência.
Conexão cai se os aparelhos se afastarem ou trocarem de rede.
Envia dados JSON para o dispositivo conectado via WiFi local.
Trocar arquivos pesados ou jogos multiplayer offline no mesmo Wi-Fi.
Envia pacotes TCP.
Mais rápido que o Bluetooth, mas restrito ao roteador local.
Retorna o deep link que abriu o app (se houver).
Saber qual URL / Rota chamou o app se o usuário abriu ele clicando em um link na web.
Verifica o Intent de inicialização. Use para redirecionar o usuário para o produto certo.
Links de indicação (referral) geralmente vêm por aqui.
Dispara quando um dispositivo Bluetooth se conecta ao seu app (modo Host P2P).
Notificar sua tela quando a maquininha ou outro app se ligar ao seu Host Bluetooth.
Emite o ID e nome do aparelho.
Só dispara se você ativou o servidor Bluetooth implícito (automático).
Dispara quando recebe dados JSON via Bluetooth de outro dispositivo.
Onde caem as mensagens de rádio. O coração do chat offline.
Recebe o payload JSON processado.
Use switch/cases baseados no campo "tipo" do objeto para rotear a lógica.
Dispara quando ocorre um erro na conexão Bluetooth.
Interromper loaders na tela quando o pareamento Bluetooth falha.
Avisa quando a antena desconectou ou perdeu sinal.
Não exibe avisos pro usuário automaticamente, trate você mesmo.
Dispara quando um dispositivo se conecta via WiFi local.
Aviso de conexão para salas locais (Wi-Fi).
Avisa quando outro socket chegou.
Redes públicas podem isolar clientes (AP Isolation), impedindo a conexão.
Dispara quando recebe dados JSON via WiFi local.
Ler as mensagens do socket TCP local.
Exatamente igual ao BT, mas com latência muito menor.
Requer que a conexão não tenha se fechado.
Dispara quando ocorre um erro na conexão WiFi local.
Capturar quando o outro celular sai do alcance do Wi-Fi.
Notifica falha na escrita ou leitura TCP.
Limpe suas variáveis de "Conectado" ao receber este evento.
Dispara quando o app recebe um deep link enquanto já está aberto.
Receber Deep Links em tempo real enquanto o app já está minimizado ou em uso.
Quando o usuário clica num link no WhatsApp e seu app acorda e volta para a frente.
Substitua a tela atual do WebView caso o link seja uma navegação.
Interface Nativa
Controle de tema, tela, fullscreen, ícone flutuante, lanterna e clipboard.
Exibe uma mensagem rápida (toast nativo do Android).
Alerta rápido sem interromper ou bloquear a tela do usuário.
Exibe aquela bolha preta inferior característica do Android.
Se você enfileirar 10 toasts seguidos, o Android exibirá um de cada vez lentamente.
Vibra o aparelho pela duração em milissegundos.
Feedback tátil ao clicar botões ou para alertar erros visuais.
Passe o tempo em milissegundos.
O usuário pode ter a vibração desligada a nível de sistema.
Liga ou desliga o flash/lanterna do aparelho.
Apps de utilidade, inspeção de obras ou leitura noturna.
Passe true para ligar e false para desligar o LED traseiro.
A permissão de CÂMERA é exigida pelo hardware do Android para acessar o flash.
Altera a cor da barra de status e navegação do Android em tempo real.
Adequar a barra superior (status bar) à cor de fundo da sua tela atual.
Passe qualquer cor em HEX.
O contraste do relógio será preto ou branco automaticamente baseado na claridade.
Ativa ou desativa o modo tela cheia.
Jogos, reprodutores de vídeo ou experiências imersivas (esconder relógio e bateria).
Ative ao abrir um vídeo e desative ao fechar.
Em aparelhos com Notch ou recortes, pode gerar comportamentos visuais de borda.
Impede que a tela se apague automaticamente.
Impedir a tela de apagar durante leituras de receitas, painéis de senha ou dashboards.
Ativa a flag nativa Wakelock do Android.
Gasta bateria intensa. Desligue quando o usuário sair dessa tela específica.
Ajusta o brilho da tela (0 a 1).
Forçar brilho máximo ao exibir um QR Code para maquininhas lerem mais fácil.
Entre 0.0 (escuro) e 1.0 (claro).
Substitui o brilho automático do usuário momentaneamente.
Copia o texto para a área de transferência.
Botões "Copiar Pix", links de afiliados ou chaves de segurança.
Injeta o texto na área de transferência (Clipboard).
No Android 13+, o sistema exibe sozinho um popup "Copiado para a área de transferência".
Exibe um ícone flutuante do app sobre outros apps.
Permite que seu app fique sobre outros apps como um botão rápido.
Útil para assistentes em tela, drivers, ou ferramentas de sobreposição.
A permissão SYSTEM_ALERT_WINDOW é vista como perigosa pelo Google e não é concedida por padrão.
Cria uma pausa com Promise para usar com await, sem travar a WebView.
Pausar fluxos assíncronos (promessas) sem travar a interface da tela.
Use como "await aguardar(3000)" para fazer uma pausa limpa de 3 segundos.
Melhor e mais fluido do que fazer um loop cego ou setTimeout aninhado.
Alterna o estado da lanterna (liga se desligada, desliga se ligada).
Um botão simples de "Liga/Desliga" sem precisar saber o estado anterior.
Chama e inverte o estado do Flash LED.
Mesmas regras da função "lanterna" original.
Ajusta a opacidade do ícone flutuante em tempo real.
Deixar a bolha translúcida quando não está sendo usada ativamente.
0.0 (invisível) a 1.0 (sólido).
Ícones invisíveis podem irritar usuários se ficarem cobrindo botões de outros apps.
Lê o texto que está na área de transferência.
Detectar códigos de convite, links de indicação colados no clipboard ou auto-preencher SMS.
Puxa a string atual.
O Android emite um alerta de privacidade avisando ao usuário que seu app leu a área de transferência.
Segurança & Biometria
Autenticação biométrica, bloqueio de tela, storage seguro e sessões.
Solicita autenticação por impressão digital ou reconhecimento facial.
Evitar que curiosos mexam na carteira, senhas ou chats privados do usuário logado.
Ao exibir a tela confidencial, bloqueie o JS e espere a Promise da biometria retornar "true".
Trate aparelhos sem biometria exibindo fallback (senha em tela de login).
Pede a senha de tela / PIN / padrão do aparelho.
Exibir a tela de Pin/Padrão nativa do Android para ações irreversíveis (Ex: Deletar conta).
Invoca a segurança máxima de fábrica do aparelho.
Usuários sem senha no celular irão falhar silenciosamente.
Salva um dado criptografado no armazenamento seguro do Android.
Criptografar tokens JWT e chaves de APIs no Keystore de segurança máxima do Android.
Substitui o "localStorage" inseguro para dados financeiros.
A chave será vinculada ao sistema. Se o celular for formatado, os dados somem para sempre.
Lê um dado do armazenamento seguro criptografado.
Resgatar as chaves privadas ao abrir o app e refazer as requisições autenticadas.
Descriptografa nativamente e injeta de volta na memória do WebView.
Seguro contra root e extração de APK por hackers casuais.
Salva um dado na sessão (persiste até o app ser fechado).
Dados que devem sumir quando o usuário limpa a memória RAM ou dá "Force Close".
Variável nativa persistida via memória.
Não sobrevive a reinícios do sistema.
Baixa e instala um APK de atualização (OTA). Mostra modal de progresso.
Distribuir atualizações secretas (betas) fora das regras burocráticas da Play Store.
Baixa o arquivo e joga para o Android Package Installer.
O link do APK deve ser direto. Links do Google Drive costumam ter redirecionamento que quebram o instalador.
Solicita permissão para instalar APKs (Android 8+). Abre a tela nativa de configurações.
Apps não podem mais instalar outros apps sem que o usuário permita explicitamente (Android 8+).
Abre a tela nativa "Permitir desta fonte" para que a instalação do OTA passe livremente.
Invoque essa função antes de começar o download longo.
Solicita acesso completo a arquivos (Android 11+). Em versões anteriores, usa popup tradicional.
Acesso forçado a todas as pastas (Android 11+). Gerenciadores de Arquivos ou Anti-Vírus precisam disso.
Joga o usuário pra tela avançada de acesso restrito de arquivos.
A Play Store frequentemente REJEITA apps que usem essa permissão se não for o core business deles.
Consulta silenciosamente se tem permissão de armazenamento, sem abrir tela.
Consulta limpa se você já tem acesso total ou parcial ao disco.
Não abre nenhum pop-up.
Apenas leitura (Booleano).
Eventos do Sistema
Ouça eventos nativos do Android: ciclo do app, hardware, conectividade e mais.
Ouve qualquer evento nativo. Retorna uma função para cancelar a escuta.
Interações genéricas (escutar BroadCasts).
Passe a string do BroadCast.
Evite acumular dezenas de ouvintes não tratados.
Dispara quando o app vai para segundo plano.
Momento exato de pausar vídeos ou mutar áudios para não tocar em segundo plano irritando o usuário.
Dispara quando o usuário vai pra tela de início (Home).
O html2apk bloqueia falso-positivos se uma tela nativa do próprio app abriu por cima.
Dispara quando um cabo USB é conectado.
Despertar telas de debug ou trancar a segurança de apps corporativos.
Dispara o evento quando a bateria e a porta de dados entram em uso.
Nem todo carregador é identificado como porta de dados.
Dispara quando um fone de ouvido é conectado.
Retomar músicas ou ajustar painéis de players de mídia quando o headset for plugado.
Avisa sobre jacks de 3.5mm e Bluetooth P2P media audio.
Muitos usuários removem fones brutalmente. Não force Playback automático sem testar bem.
Dispara quando o volume é alterado.
Ajustar as barras de progresso virtuais do seu app sem polling.
Dispara ao apertar os botões físicos laterais do Android.
Algumas fabricantes mascaram a interceptação de botões físicos.
Dispara quando o teclado virtual aparece.
Subir (scroll) botões de salvar em formulários para que o teclado não os esconda.
Detecta encolhimentos no Layout Window do Android.
Retorna a altura do teclado. O evento de fechar terá altura zero.
Dispara quando o usuário tira um print da tela.
Prevenção e segurança bancária. Avisar que o PIX foi salvo ou gerar log de fraude.
Ouve a criação de arquivos de tela temporários pelo sistema.
Não impede o print nativamente (use as flags de segurança pra impedir de fato).
Dispara quando o usuário volta ao app após ter saído. O html2apk suprime falsos positivos de telas nativas bloqueantes.
Atualizar cotações de bolsa ou feed do Instagram sem o usuário pedir, após ele passar 5h no WhatsApp.
Dispara quando a tela ganha foco primário novamente.
As conexões Socket WebSocket morrem em background. Use este evento para reconectar automaticamente!
Sistema & Navegação
Informações do dispositivo, navegação, links externos e controle do app.
Retorna informações do aparelho (modelo, versão Android, etc).
Estatísticas para analytics, rastreamento de crashes e painéis de administração corporativa.
Saber modelo, marca, build, RAM disponível e API do Android.
O Google removeu leitura nativa de IMEI e MAC desde o Android 10 por privacidade.
Retorna o nível e status da bateria.
Impedir início de atualizações longas ou processamentos em celulares prestes a desligar.
Retorna % e booleano de cabo plugado.
Muito dependente da leitura do kernel do celular alvo.
Retorna o status da conexão de rede.
Avisar "Você está sem internet" elegantemente em vez de quebrar requisições `fetch` secas.
Identifica 4G, Wi-Fi ou Offline.
Pode acusar Wi-Fi conectado mesmo se a rede/roteador estiver sem acesso pra fora da Intranet.
Navega para uma URL dentro do próprio WebView do APK.
Roteamento forçado ou reset de sessão sem dar "F5" explícito.
Substitui a URL do WebView principal.
Diferente de links SPA (`#/`), isso navega fisicamente as pastas (ex: `index.html`).
Abre uma URL no navegador padrão do Android.
Enviar o usuário para páginas políticas, cobrança do pagseguro externa, PDFs gigantes de navegador.
Abre no Chrome/Opera do celular, fora do isolamento do app.
Tira o foco do seu app. O usuário pode não voltar se se distrair.
Minimiza o app (vai para segundo plano).
Botões "Home" personalizados ou fluxo de segundo plano de reprodutor de rádio.
Emula o botão quadrado nativo enviando o app pro fundo.
Causa o acionamento dos eventos "aoMinimizar".
Encerra o app completamente. Use com cuidado!
Botões de saída de emergência ou deslogar brutalmente usuários bloqueados pelo banco de dados.
Mata a JVM da Activity nativa Android (System.exit/finish).
Se você matar o app, conexões pendentes do banco ou WebSocket irão morrer pela metade e dados podem corromper.
Define um papel de parede (tela de início, bloqueio ou ambos).
Apps de arte, temas ou wallpapers otimizados.
Define o plano de fundo do sistema usando uma imagem do seu app.
Exige confirmação e suporte pelo launcher nativo da fabricante do telefone.
Abre o WhatsApp com número e mensagem pré-preenchidos.
Encurta o caminho do suporte e venda direta do seu SaaS.
Abre a thread do WhatsApp passando a mensagem já preenchida.
Sempre adicione o código do país (ex: 55) ao telefone.
Abre o discador do Android com o número preenchido.
Atalhos diretos a frotistas, centrais de frete e telefone de resgate.
Cai no app "Telefone" nativo.
Não completa a chamada. Apenas preenche. O usuário ainda tem que apertar o botão de ligar por segurança.
Abre o Google Maps com um endereço ou coordenadas.
Abre o Google Maps/Waze no endereço exato de entrega da pizzaria.
Usa "geo: URI intent".
Se tiver ambos Waze e Maps, o Android perguntará ao usuário qual usar.
Verifica se um app está instalado. Busca inteligente por nome ou packageId.
Saber se seu parceiro instalou o seu app B ou A.
Inspeciona silenciosamente a lista de apps do celular.
Android 11 exige a declaração de "QUERY_ALL_PACKAGES" para essa leitura não voltar falsa sempre.
Abre outro app instalado no Android.
Abre o YouTube, Instagram ou o app do Itaú por cima do seu.
Chama o packageId nativo (ex: com.whatsapp).
Se o app não for achado, dá erro. Verifique antes usando verificarPacote.
Encontra e aponta para um arquivo na pasta Downloads. Busca inteligente por palavra-chave.
Achar um boleto ou APK que você mesmo baixou sem saber o nome exato.
O robô rastreia na pasta Downloads o arquivo com a extensão pedida.
Só tem acesso a diretórios públicos.
Abre a tela de instalação nativa do Android para um APK. Use "select" para abrir o seletor.
Abre a UI nativa "Instalar App X? Cancelar / Instalar".
Se usar "select", abre o selecionador para o usuário apontar o APK.
Maneira excelente de forçar um sideloading manual de atualizações gigantescas.
Consulta o status de múltiplas permissões sem solicitá-las.
Verificar massivamente os requisitos de permissões da tela em um único bloco de código.
Retorna um json com "granted" para as permissões sem acionar Popups irritantes.
Permite desabilitar botões na sua UI se não tiver acesso à câmera, antes de bugar.
Aumenta o volume em N passos.
Assistentes virtuais customizados ou equalizadores por código.
Sobe um degrau no mixer do Android.
Não quebra limite máximo de hardware.
Diminui o volume em N passos.
Diminuir gradualmente em alertas noturnos.
Desce um degrau no mixer de volume.
Limites físicos impostos pela placa mãe valem aqui.
Compartilhamento
Receba arquivos, textos e links compartilhados de outros apps e compartilhe o próprio APK.
Compartilha o próprio APK do app com outros.
A estratégia suprema de marketing boca-a-boca. O usuário envia o APK instalável direto pro amigo via WhatsApp.
Puxa o arquivo fonte de si mesmo do /data/app e converte num anexo de WhatsApp.
Pode não ter 100% de precisão caso a Play Store use App Bundles (onde ela fatia o código por resolução de tela).
Retorna os dados do compartilhamento que abriu o app (se houver).
Transformar seu app no recebedor de arquivos do usuário. (ex: "Compartilhar texto com o meu app de Notas").
Verifica no carregamento (Splash screen) se fomos abertos pelo menu de "Compartilhar".
Pode vir vazio, null, em JSON. Trate a string ou o URI (caminho físico do arquivo).
Dispara quando o app recebe um compartilhamento de outro app enquanto já está aberto.
Receber anexos do WhatsApp enviados de fora pra dentro (Seu app era a gaveta).
Dispara apenas quando a Activity já está na memória e foi acordada via "New Intent".
É aqui que seu app "importa" a foto que o usuário abriu na galeria e apertou "Mandar para o AppForge".
Avançado & Background
Processamento em segundo plano, Widgets na tela inicial e Bolhas flutuantes (Overlay).
Ativa o processamento persistente. O app continua executando JavaScript mesmo quando a tela é desligada ou o app é fechado/minimizador.
Manter reprodução de música, GPS contínuo e envios massivos de dados rodando com o celular bloqueado ou tela desligada.
Avisa o kernel do Android para não matar a memória da sua WebView.
Cria uma notificação imperdoável e irritante na barra de notificação avisando o usuário sobre o consumo. Use com respeito.
Desativa o modo segundo plano, removendo a notificação fixa e permitindo o descanso do app.
Finalizar amigavelmente seu ciclo longo sem sofrer interrupções ou penalidades na loja de bateria do Android.
Deve ser sua última linha na Promise da ação longa (finally{}).
Remove a notificação contínua e devolve os recursos ao hardware.
Solicita ao usuário que fixe manualmente o Widget do app na tela inicial.
Atalhos direto no coração da tela inicial do celular geram tráfego monstruoso de engajamento.
Exibe o pop-up rápido nativo "Deseja fixar à tela inicial?".
Em Androids antigos (7 pra baixo) simplesmente ignorado porque os atalhos não existiam globalmente na API.
Atualiza o layout, cores, textos e imagem lateral do Widget fixado na tela inicial.
Modificar o conteúdo do widget (saldo bancário, música atual) usando JS simples e strings hexadecimais.
Passa um dicionário e o próprio Java repinta a View Remota do Widget Android.
Nunca crie loops infinitos que atualizem de 1 em 1 segundo. Isso consome a CPU assombrosamente e o Android irá punir o app banindo o widget.
Intercepta os cliques recebidos nos botões do Widget da tela inicial.
Diferenciar que a navegação do usuário que entrou "pela porta lateral" quer ações específicas (ex: botão play, botão depositar).
Intercepta "detail" que vem na String do click e roteia seu router do React/Vue/Vanilla.
Registre este callback logo no header do seu app, para não perder nenhum clique adiantado feito pelo widget.
Abre uma janela em bolha flutuante livremente arrastável (Overlay) que se sobrepõe a todos os outros apps.
Bolhas onipresentes que andam pela tela cobrindo Instagram, WhatsApp e mapas.
Uma pequena janela customizável é desenhada acima da camada superior do DisplayMetrics Android.
Google é brutal em restringir esse acesso de segurança. É exigido do usuário a aprovação mais crítica das "Configurações Ocultas de Sobreposição".
Fecha programaticamente a bolha flutuante ativa.
Remoção forçada ou fechamento higiênico após o app resolver a entrega, viagem ou cálculo desejado na bolha.
Libera a janela de volta pro lixo da VM Android.
Não mata seu app primário, apenas apaga a camada extra flutuante.