Android - создание пользовательского лаунчера

Я собираюсь разработать собственный Launcher для телефона Android. Я искал в Интернете, но не нашел никакой ценной информации о создании проекта «лаунчер». Что нужно приложению для Android, чтобы быть в верхней части графического интерфейса (он же лаунчер)?


person Waypoint    schedule 18.08.2011    source источник
comment
Когда я слышу слово лаунчер, я думаю о кнопке, которая открывает приложение. Это то, что вы имеете в виду? Если нет, не могли бы вы предоставить ссылку на то, что вы имеете в виду, например, на Википедию?   -  person Phil    schedule 18.08.2011
comment
Да, с лаунчером я имею в виду - начальный графический интерфейс, который загружается при запуске телефона андроида (у нас есть стандартный лаунчер от Google, TouchWiz у Samsungu или пользовательский лаунчер, такой как Launcher Pro и другие)   -  person Waypoint    schedule 18.08.2011


Ответы (2)


Ну, во-первых, вам нужно прислушаться к намерению android.intent.category.HOME. Вот несколько ссылок с полным исходным кодом, на который вы можете взглянуть:

Или взгляните на launcher plus.

person David Olsson    schedule 18.08.2011

Я видел эту ветку некоторое время назад, до того, как создал свою собственную программу запуска.
Вот некоторые важные вещи, которые я узнал:


Объявление вашего приложения средством запуска

Дэвид уже упомянул фрагмент кода, который определяет ваше приложение как средство запуска:

<category android:name="android.intent.category.HOME" />

Добавьте это как intent-filter к действию, которое будет использоваться вашей программой запуска. главный экран (в AndroidManifest.xml).

Проблемы с лаунчером

Поскольку программа запуска будет работать постоянно, вам необходимо понимать жизненный цикл активности для предотвращения проблем (как этот).

Если вы хотите, чтобы пользователи (и вы сами) могли постоянно пользоваться приложением (это то, что вы обычно делаете с программами запуска), убедитесь, что оно никогда не падает. В случае сбоя пользователи будут возвращены обратно. в пусковую установку устройств по умолчанию или другие установленные.

Вкратце: ожидается, что средства запуска будут надежными.

Общие функции запуска (пользователи обычно ожидают их)

1) список приложений/appdrawer

Из которого все приложения могут быть запущены или изменены. Вы можете использовать packageManager для списка приложений.

Поскольку создание такого списка может занять некоторое время, я предлагаю вам сделать это асинхронно и сохранить список где-нибудь, чтобы ускорить все (что также ожидается от лаунчеров ^^)

2) Некоторые настройки для смены лаунчера

У меня было несколько пользователей, которые застряли в моем лаунчере, прежде чем реализовать эти ^^

Вы можете открыть настройки запуска устройств следующим образом (в Kotlin):

// working in APIs newer than Lollipop
val callHomeSettingIntent = Intent(Settings.ACTION_HOME_SETTINGS)
startActivity(callHomeSettingIntent)

Бонус) Учебник в приложении

Это может быть полезно, если в вашем приложении есть некоторые нетривиальные функции, способы запуска приложений, которые пользователи не знают из других приложений.

Кроме того, вы получаете гораздо меньше сообщений от пользователей, спрашивающих, как взаимодействовать с вашим программным обеспечением.


Ресурсы:

  • GitHub созданного мной минимального лаунчера может быть полезен: finnmglas/Launcher
person finnmglas    schedule 11.07.2020
comment
спасибо за настройки.ACTION_HOME_SETTINGS - person Ali Zarei; 13.12.2020