~/talk

Custom Launcher – Why and How do I build one?

Talkat droidcon Berlin 2023 · 2023-07-05..07-07· [android]
links:none on file
slides:none on file

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

  1. 0:00Introduction to custom launchers
  2. 1:54What is a launcher?
  3. 4:23Stock vs third-party launchers
  4. 5:50Why build a custom launcher?
  5. 7:59Specialized launcher use cases
  6. 9:26Making an app a launcher
  7. 10:08Listing and starting apps
  8. 12:00Displaying apps in UI
  9. 13:58Custom launcher design examples
  10. 15:46Designing creative UIs
  11. 16:08App widgets overview
  12. 18:17Implementing app widgets
  13. 20:07Embedding other activities
  14. 22:59Performance and stability tips
  15. 24:23Resources and references
  16. 25:29Summary and Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.