Заставить NativeActivity вести себя как Сервис - PullRequest
3 голосов
/ 30 ноября 2011

У меня есть приложение, в основном написанное на нативном коде, основанное на NativeActivity.В основном это работает в полноэкранном режиме, и работает нормально, как это.Но для одного конкретного случая использования мне нужно иметь возможность запускать его в фоновом режиме, без головы, общаться с пользователем через уведомления и тосты.

Идиоматический способ сделать это на Android - это использовать Сервис;но я не могу сделать это здесь, потому что код обязательно должен быть NativeActivity (потому что нативный код опирается на модель событий NativeActivity, и, прежде чем вы спросите, нет, я не могу это изменить).

Поэтому мне нужен какой-то способ заставить Activity вести себя (по крайней мере, для пользователя) как Сервис.

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

Предложения?

...