У меня есть служба, которая собирает данные и должна пережить изменения жизненного цикла приложения, пока приложение находится в фоновом режиме. Эта служба находится в том же процессе, что и мое приложение, то есть также зарегистрирована в манифесте.
Служба отправляет данные LiveData в приложение, а основное приложение извлекает эти данные LiveData, связываясь со службой и делая что-то вроде:
private void onServiceConnected(TicketValidatorService service) {
...
service.getStatus().observe(this, new Observer<SomeStatus>() {
@Override
public void onChanged(SomeStatus status) {
handleStatusChanged(status);
}
})
...
}
Это считается плохой практикой? Или мне лучше общаться через Messenger / Handler или LocalBroadcastManager через границу службы / приложения? Было бы сложно перевести службу в другой процесс, но я не думаю, что должен делать это ради своей задачи.