У меня есть старый код Android/java, который содержит два вывода из IntentService
,
и эти службы не выполняются в отдельных процессах.
Вопрос о том, как вернуть результат из этих IntentService
.
Один результат возврата службы с помощью Handler
+ Runnable
, чтобы запустить код в основном цикле:
new Handler(Looper.getMainLooper()).post(new Runnable() {
@Override
public void run() {
MyApplication.get().setFoo(someThing);
}
});
другой использует LocalBroadcastManager.getInstance(this).sendBroadcast(in);
для отправки сообщения Activity
и Activity
подписаться через BroadcastReceiver
на сообщение в onResume
и отписаться в onPause
.
Я прав, и в обоих случаях можно использовать LiveData
для упрощения вещей?
IntentService
должен создать LiveData
и кому нужен результат, если observe
он,
и когда новые данные поступают IntentService
, следует вызвать postValue
,
или могут быть некоторые рифы, чтобы предотвратить использование LiveData
здесь?