Шаблон приложения «Уведомления»
Отправляйте мгновенные и запланированные локальные уведомления.
Это шаблон в работе. Функции телефона, такие как камера, вибрация и уведомления, работают в приложении, которое вы соберёте.
Функции телефона, которые использует этот шаблон
Они работают через JavaScript-мост FreeApp, который есть в каждом приложении, собранном в Free HTML to APK. В обычном браузере шаблон тоже работает, просто эти вызовы ничего не делают.
Мгновенное локальное уведомление (на Android 13+ запрашивает разрешение).
FreeApp.scheduleNotification()
Возвращает id.
Открывает страницу системных настроек этого приложения.
Как шаблон их вызывает
async function remind() {
if (!window.FreeApp) return;
if (!FreeApp.hasPermission('notifications')) await FreeApp.requestPermission('notifications');
FreeApp.notify('Hello', 'Sent right now');
FreeApp.scheduleNotification('Reminder', 'Five minutes passed', 5 * 60 * 1000);
}
Сделайте его своим с помощью ИИ
Скопируйте этот промпт в ChatGPT, Gemini или Claude, замените идею на свою и вставьте ответ обратно в редактор. Он уже объясняет ИИ оболочку приложения и функции телефона.
Показать промпт для ИИ
Build a single-file mobile web app (index.html with inline CSS/JS) for Android WebView.
The app: Notifications — a notification center that sends instant and scheduled local notifications. Send instant and scheduled local notifications.
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.notify(title: string, body?: string): void — instant local notification (asks permission on Android 13+)
- FreeApp.scheduleNotification(title: string, body: string, delayMs: number, opts?: {id?: number, url?: string, repeatMs?: number, exact?: boolean}): number — returns the id
- FreeApp.requestPermission(name: 'camera' | 'microphone' | 'location' | 'notifications'): Promise<boolean>
- FreeApp.hasPermission(name: string): 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]Превратите его в Android-приложение
- Нажмите Редактировать и собрать онлайн. Шаблон откроется в онлайн-редакторе.
- Измените текст, цвета и код, затем выберите название приложения, иконку и имя пакета.
- Соберите. Вы получите подписанный APK для установки и AAB для Google Play — бесплатно, без аккаунта и без водяного знака.
✏️ Редактировать и собрать онлайн СКАЧАЙТЕ БЕСПЛАТНО ВGoogle Play
Другие шаблоны в категории «Система»
Менеджер буфера обмена
Копируйте, вставляйте и ведите историю фрагментов.
Биометрическая блокировка
Экран блокировки с разблокировкой по отпечатку пальца и запасным PIN-кодом.
Не гасить экран
Не давайте экрану засыпать, с таймером автоотключения.
Яркость
Управляйте яркостью экрана ползунком и пресетами.
Меню «Поделиться»
Делитесь текстом, ссылками и созданными файлами с другими приложениями.
Сохранение файлов
Создавайте текстовые файлы, CSV или JSON и сохраняйте их на устройство.