Aplikasi launcher Android yang mengambil alih home screen dan menjadikan aplikasi lain sebagai tampilan utama.
| Fitur | Keterangan |
|---|---|
| π Home Screen Takeover | Mendaftarkan diri sebagai default launcher |
| π± App Picker | Pilih aplikasi apapun sebagai "home app" |
| π Navigation Lock | Blokir Back & Home button kembali ke app kiosk |
| πΆ Status Bar Lock | Sembunyikan status bar & navigation bar |
| π‘οΈ Device Admin | Screen pinning / Lock Task Mode |
| βΏ Accessibility Guard | Monitor foreground app via AccessibilityService |
| π Auto-Start on Boot | Aktif otomatis saat perangkat dinyalakan |
| π Admin PIN | Proteksi pengaturan dengan PIN |
| π Foreground Service | Jalan terus sebagai foreground service |
app/
βββ activities/
β βββ LauncherActivity.java # Home screen utama + kiosk launcher
β βββ AppPickerActivity.java # Pilih aplikasi kiosk
β βββ SettingsActivity.java # Panel pengaturan admin
βββ services/
β βββ KioskService.java # Foreground service (watchdog)
β βββ KioskAccessibilityService.java # Monitor navigasi
βββ receivers/
β βββ BootReceiver.java # Auto-start saat boot
βββ admin/
β βββ KioskDeviceAdmin.java # Device Admin receiver
βββ res/
βββ layout/ # Semua layout XML
βββ xml/ # Accessibility & Device Admin config
βββ values/ # Strings, colors, themes
- Set Default Launcher β Tekan Home button β Pilih "Kiosk Launcher" β "Always"
- Pilih Aplikasi Kiosk β Tap "Pilih Aplikasi Kiosk" β Cari & pilih app
- Aktifkan Device Admin β Tap "Aktifkan Device Admin" β Setujui
- Aktifkan Accessibility Service β Settings β Accessibility β Kiosk Navigation Guard β ON
- Aktifkan Kiosk Mode β Pengaturan β Toggle "Kiosk Mode" ON
- Reboot β Perangkat akan langsung boot ke app kiosk
- Tekan tombol Power β Ketuk notifikasi "Kiosk Mode Aktif"
- Masukkan PIN Admin (default: 1234)
- Toggle Kiosk Mode β OFF
RECEIVE_BOOT_COMPLETED- Auto-start saat bootFOREGROUND_SERVICE- Background serviceSYSTEM_ALERT_WINDOW- Overlay untuk lockQUERY_ALL_PACKAGES- List semua aplikasiBIND_ACCESSIBILITY_SERVICE- Guard navigasiBIND_DEVICE_ADMIN- Lock task modeWAKE_LOCK- Jaga layar tetap aktif
./gradlew assembleDebug # Debug APK
./gradlew assembleRelease # Release APK- Lock Task Mode penuh membutuhkan Device Owner. Tanpa itu, screen pinning butuh konfirmasi user.
- AccessibilityService adalah cara paling efektif untuk intercept navigasi tanpa root.
- Untuk unlock penuh (root-level), perlu
adb shell dpm set-device-owneratau gunakan MDM.
MIT License - Open Source