Custom Launcher – Why and How do I build one?
summary
A launcher is an app registered by adding add CATEGORY_HOME intent filter to the manifest and it lists apps by calling queryIntentActivities with CATEGORY_LAUNCHER, mapping ResolveInfo into a data class and launching via getLaunchIntentForPackage then startActivity. Widgets exist (info, control, collection, hybrid) but are rate limited — widgets update ~30min — and Compose + Glance helps. Embedding other activities relies on platform TaskView which is a hidden API so either become a system app or implement embedded elements yourself. Performance and stability matter; Android runs on ~24,000 devices.
AI-written summary · about
chapters (16)
- 0:00Introduction to custom launchers
- 1:54What is a launcher?
- 4:23Stock vs third-party launchers
- 5:50Why build a custom launcher?
- 7:59Specialized launcher use cases
- 9:26Making an app a launcher
- 10:08Listing and starting apps
- 12:00Displaying apps in UI
- 13:58Custom launcher design examples
- 15:46Designing creative UIs
- 16:08App widgets overview
- 18:17Implementing app widgets
- 20:07Embedding other activities
- 22:59Performance and stability tips
- 24:23Resources and references
- 25:29Summary and Q&A
related talks
23mA History of Android Launchers
41mData-backed app widget development — with Jetpack Glance
33mInvading the home screen
24mShooting a “Glance” at App Widgets
09mBuilding modern Android app widgets
41mHow to Build an Android TV Media Application Launcher
39mAndroid widgets and Jetpack Compose: Making your app fancy
22mModern Android Development #AskAndroid
