Заставить NativeActivity вести себя как Сервис
У меня есть приложение, в основном написанное на нативном коде, основанное на NativeActivity. В основном это работает в полноэкранном режиме, и работает нормально, как это. Но для одного конкретного случая использования мне нужно иметь возможность запускать его в фоновом режиме, без головы, общаясь с пользователем через уведомления и тосты.
Идиоматический способ сделать это на Android - использовать Сервис; но я не могу сделать это здесь, потому что код обязательно должен быть NativeActivity (потому что нативный код опирается на модель событий NativeActivity, и, прежде чем вы спросите, нет, я не могу это изменить).
Поэтому мне нужен какой-то способ заставить Activity вести себя (по крайней мере, для пользователя) как Сервис.
Наименее плохой способ, которым я могу придумать, - это как-то скрыть Activity, чтобы она выполнялась, но не показывалась пользователю. Есть даже метод Activity.setVisible(), который должен это делать; но когда я пытаюсь это сделать, кажется, это не работает должным образом. (Действие появляется, но пустое, а затем исчезает, когда приложение отображает свой первый диалог. Это на сотовом планшете, если это имеет значение.)
В идеале, конечно, я хотел бы, чтобы NativeService работал с NativeActivity, но, к сожалению, такой вещи не существует, и от просмотра исходного кода до NativeActivity, написание NativeService выглядит весьма нетривиально.
Предложения?