Пароль на будь-який застосунок на Android TV. Створено для батьків. Без root. Без хмари. Без реклами. Без стеження.
Цей застосунок народився з однієї побутової ситуації: сімейний телевізор, допитлива дитина і програми, які ви не хочете відчиняти без нагляду. 4-значний PIN вводиться пультом, по одній програмі — перемикач, вікно «grace period» під вашим контролем. Жодних акаунтів, серверів чи телеметрії. Це захист від дитини, а не від зла: «не пустити п'ятирічку в YouTube», а не «захистити державну таємницю». Дорослий із пультом може зняти блок у Налаштуваннях — і це усвідомлено, жодних прихованих ричагів.
- Крихітна фонова служба запитує системну статистику використання кожні 250 мс.
- Коли заблокований застосунок виходить на передній план, лаунчер припарковується до Дому, а поверх постає PIN-екран.
- Правильний PIN → ви потрапляєте всередину програми, а налаштовуваний grace period (0–60 хв або «до перезавантаження») вирішує, як довго повторні запуски проходитимуть без запиту.
- Watchdog пере-піднімає браму, якщо Android мовчки відмовив у її показі; сигналізація keep-alive відроджує службу, якщо прошивка її вб'є.
- Усе локально. Дозволу на мережу в застосунку немає взагалі.
| 🔢 PIN | 4 цифри пультом, зберігається автоматично на 4-й цифрі |
| 📱 Вибір програм | будь-яка програма з головного екрана ТБ |
| ⏱️ Grace period | 0 / 5 / 15 / 30 / 60 хв / до перезавантаження |
| 🔓 Видимий стан | головний екран завжди показує: замок заряджений 🔒 чи відкритий 🔓 |
| ♻️ Переживає перезавантаження | boot-receiver + keep-alive, без root |
| 🌍 UI | англійська та українська |
- Android TV 6.0+ (API 21), тестувався на Android 14
- ADB для одноразової установки та видачі дозволів
- Завантажте
tvapplock-release.apkз останнього релізу та перевірте заSHA256SUMS.txt. - Увімкніть налагодження ADB на ТБ (Налаштування → Пристрій → Налагодження по USB; на деяких прошивках спершу 7 разів натисніть «Збірка» в «Про пристрій»).
- З комп'ютера в тій самій мережі:
adb connect <IP_ТБ>:5555
adb install tvapplock-release.apk
# два дозволи, які локер потребує (одноразово)
adb shell appops set com.alexk.tvlock GET_USAGE_STATS allow
adb shell appops set com.alexk.tvlock SYSTEM_ALERT_WINDOW allow
# запустити службу-вартового
adb shell am start-foreground-service com.alexk.tvlock/.LockPollService- Відкрийте TV App Lock на ТБ → «Налаштувати PIN» → оберіть програми для блокування.
Апп-локери на accessibility-сервісах (більшість із Play Store) перехоплюють події вікон, але на Android TV вони глобально ламають обробку кнопки OK пультом — коротке натискання у лаунчері починає відкривати меню довгого тапання. TV App Lock навмисно пішов шляхом опитування замість accessibility: нуль втручання у ввід, ціна — вікно ~0.5 с між іконкою програми та брамою.
- ~0.5 с на перегон: опитування — не хук. Перший кадр заблокованої програми може мигнути до появи брами. Без root це не усувається повністю.
- Обхід через Налаштування: вимкнути дозвіл Usage Access або зупинити програму може будь-хто з пультом. Це захист від дитини 4–10 років, не від свідомого дорослого.
- Grace period — це компроміс:
0(питати щоразу) найбезпечніше; довші вікна лишають двері відчиненими для всіх, не лише для вас. - PIN зберігається локально, не хешований — придатний для сімейного ТБ, ніколи не повторюйте справжній пароль.
Застосунок не має дозволу на інтернет. Дозвіл на статистику використання використовується виключно щоб локально й у реальному часі визначити передню програму. Ніщо ніколи не покидає пристрій.