HTML para APK grátis
← Todos os modelos
🧪
Iniciais

Modelo de app Recursos nativos

Todas as APIs do FreeApp: vibrar, lanterna, notificar, compartilhar, bateria, TTS e mais.

IniciaisFunciona offline22 recursos do celular

✏️ Editar e compilar online Abrir em tela cheia

Este é o modelo rodando ao vivo. Recursos do celular, como câmera, vibração e notificações, funcionam no app que você criar.

Recursos do celular que este modelo usa

Eles vêm da ponte JavaScript do FreeApp, que todo app criado com o Free HTML to APK inclui. Em um navegador comum, o modelo continua funcionando e as chamadas simplesmente não fazem nada.

Mensagens toast

FreeApp.toast()

Toast nativo curto.

Vibração

FreeApp.vibrate()

Uma vibração única (padrão 50 ms) ou um padrão [desligado, ligado, desligado, ligado…].

Menu de compartilhamento

FreeApp.share()

Planilha de compartilhamento do Android.

Copiar para a área de transferência

FreeApp.copy()

Copiar para a área de transferência.

Info do dispositivo

FreeApp.device()

Info do app

FreeApp.app()

Nível da bateria

FreeApp.battery()

Status online

FreeApp.online()

Tipo de rede

FreeApp.network()

Lanterna

FreeApp.torch()

Lanterna; retorna false se não houver flash.

Manter a tela ligada

FreeApp.keepAwake()

Manter a tela ligada.

Brilho da tela

FreeApp.brightness()

De 0.0 a 1.0 para esta janela; um valor negativo restaura o brilho do sistema.

Cor da barra de status

FreeApp.statusBar()

Ex.: '#2563EB'.

Tela cheia

FreeApp.fullscreen()

Ocultar as barras do sistema (imersivo).

Rotação da tela

FreeApp.orientation()

Notificações

FreeApp.notify()

Notificação local instantânea (pede permissão no Android 13+).

Texto para fala

FreeApp.speak()

Texto para fala nativo, com idioma como 'pt-BR'.

Imprimir

FreeApp.print()

Imprimir / salvar a página como PDF.

Dados salvos

FreeApp.store.set() FreeApp.store.get()

Armazenamento nativo persistente de chave/valor (JSON).

Salvar arquivos

FreeApp.saveFile()

Salva em Downloads; FreeApp.on('saved', d => …) retorna {name, ok, location}.

Pedidos de permissão

FreeApp.requestPermission()

Abrir configurações do app

FreeApp.openSettings()

Abre a página de configurações do sistema para este app.

Como o modelo os chama

if (window.FreeApp) {
  FreeApp.toast('Battery: ' + FreeApp.battery().level + '%');
  FreeApp.vibrate([0, 80, 60, 80]);
  FreeApp.torch(true);
  FreeApp.speak('Hello from Free HTML to APK');
  FreeApp.notify('Demo', 'Native notification');
}

Deixe com a sua cara usando IA

Copie este prompt no ChatGPT, Gemini ou Claude, troque a ideia pela sua e cole a resposta de volta no editor. Ele já explica para a IA a estrutura do app e os recursos do celular.

Mostrar o prompt para a IA
Build a single-file mobile web app (index.html with inline CSS/JS) for Android WebView.

The app: Native Features — a showcase grid of buttons that each demonstrate one native feature. Every FreeApp API: vibrate, torch, notify, share, battery, TTS and more.

Requirements:
- Mobile-first, touch-friendly UI (min 44px tap targets), works in portrait, supports light and dark mode.
- Use <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> and pad for env(safe-area-inset-*).
- Must work fully offline: no CDN or external scripts, fonts or images; persist data in localStorage.

The page runs inside an Android app that injects a native bridge as window.FreeApp. Available APIs:
- FreeApp.toast(message: string): void — short native toast
- FreeApp.vibrate(ms?: number | number[]): void — one-shot buzz (default 50 ms) or an [off, on, off, on…] pattern
- FreeApp.share(text: string, title?: string): void — Android share sheet
- FreeApp.copy(text: string): void — copy to clipboard
- FreeApp.device(): {manufacturer, model, brand, androidVersion, sdkInt, language, screenWidth, screenHeight, density, isTablet, darkMode}
- FreeApp.app(): {packageName, versionName, versionCode, name, firstInstall}
- FreeApp.battery(): {level: number /* 0-100 */, charging: boolean}
- FreeApp.online(): boolean
- FreeApp.network(): 'wifi' | 'cellular' | 'ethernet' | 'vpn' | 'other' | 'none' | 'unknown'
- FreeApp.torch(on: boolean): boolean — flashlight, returns false if no flash
- FreeApp.keepAwake(on: boolean): void — keep the screen on
- FreeApp.brightness(level: number): void — 0.0–1.0 for this window, negative restores system brightness
- FreeApp.statusBar(hexColor: string): void — e.g. '#2563EB'
- FreeApp.fullscreen(on: boolean): void — hide system bars (immersive)
- FreeApp.orientation(value: 'portrait' | 'landscape' | 'sensor_portrait' | 'sensor_landscape' | 'sensor' | 'unspecified'): void
- FreeApp.notify(title: string, body?: string): void — instant local notification (asks permission on Android 13+)
- FreeApp.speak(text: string, lang?: string): void — native text-to-speech, lang like 'en-US'
- FreeApp.print(): void — print / save the page as PDF
- FreeApp.store.set(key: string, value: any): void — persistent native key/value (JSON)
- FreeApp.store.get(key: string): any | null
- FreeApp.saveFile(name: string, mime: string, data: string /* base64 or data: URL */ | Blob): Promise<boolean> — saves to Downloads; FreeApp.on('saved', d => …) gives {name, ok, location}
- FreeApp.requestPermission(name: 'camera' | 'microphone' | 'location' | 'notifications'): Promise<boolean>
- FreeApp.openSettings(): void — open this app's system settings page

Rules for the bridge:
- Always guard calls with `window.FreeApp &&` (or `if (window.FreeApp) { … }`) and provide a browser fallback so the page also works in a normal browser.
- The bridge may be injected after your script runs: do native setup inside `window.addEventListener('freeappready', …)` and also run it immediately if window.FreeApp already exists.
- Do not use alert/confirm for normal feedback; prefer FreeApp.toast when available.

Return the complete index.html in one code block.

My idea: [DESCRIBE YOUR APP IDEA HERE]

Transforme em um app Android

  1. Toque em Editar e compilar online. O modelo abre no editor online.
  2. Mude o texto, as cores e o código e depois escolha um nome de app, um ícone e um nome do pacote.
  3. Compile. Você recebe um APK assinado para instalar e um AAB para o Google Play, grátis, sem conta e sem marca d'água.

✏️ Editar e compilar online BAIXE GRÁTIS NOGoogle Play