Типичное расположение состоит в том, чтобы иметь два приложения - приложение переднего плана и приложение фона. Приложение переднего плана имеет все элементы пользовательского интерфейса и запускается, когда пользователь нажимает на значок приложения на устройстве, и завершает работу, когда пользователь выбирает «Выход». Это будет в значительной степени то, что вы уже написали.
Фоновое приложение скрывается - в переключателе приложений или на устройстве отсутствует значок. Это означает, что фоновое приложение продолжает работать независимо от того, запущено ли приложение переднего плана. Это позволяет вам настроить push-приемник и поддерживать его работу, даже когда ваше приложение «не работает»
Оба «приложения» фактически населяют одну и ту же кодовую базу - вы дифференцируете их, добавляя новый аргумент start, а затем при запуске приложения код проверяет, должно ли это быть приложение переднего плана или фоновое, и ведет себя соответствующим образом.