App Scheduler is an Android application that allows users to schedule the launch of any installed app at a specific date & time. It follows the Clean Architecture pattern to ensure scalability and maintainability. It uses Broadcast Receiver, Foreground Service, and Overlay Permission for smooth background execution.
- Schedule Any Installed App: Users can schedule any app to launch at a set date & time.
- Cancel Schedule: Users can cancel the scheduled launch if an app has not started.
- Reschedule App: Users can modify an existing schedule to a new time before launch.
- Multiple Schedules: Supports multiple app schedules without time conflicts.
- Execution Tracking: Keeps a record of scheduled apps to check whether they were successfully executed.
- Background Execution: Uses BroadcastReceiver and ForegroundService to ensure reliability.
- Schedule Log: Uses Room database for store schedule records and execution logs
- Kotlin - Modern Android development language
- Jetpack Compos - UI built using declarative Compose framework
- Foreground Service - Ensures scheduled tasks run in the background
- Broadcast Receiver - Listens for scheduled events and triggers app launch
- Room Database - Stores schedule records and execution logs
- Koin - Dependency Injection
- Background execution may not work on some OEM devices (Xiaomi, OnePlus, Oppo, Vivo, etc.) due to battery optimizations.
- Currently, no extra permissions have been added to bypass these restrictions.
- Users may need to manually whitelist the app in battery settings for reliable execution.
- Clone the repository
https://github.com/ronyaburaihan/AppScheduler- Open in Android Studio
- Run on an Android Emulator or Physical Device
| Create Schedule Screen | Date Picker | Time Picker | Home Screen |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Watch the Full Demo: Demo Video



