Как можно использовать resultReceiver без startService? - PullRequest
0 голосов
/ 04 сентября 2018

Мне нужно получить некоторый прогресс в моей службе намерений, но в моем поиске я нахожу resultReceiver и выглядит хорошо и легко для реализации, но примеры, которые я вижу, передают намерение получателя, но не могут пройти, потому что моя служба намерения его активирует. BroadcastReceiver. Итак, я получаю прогресс intentService, когда пользователь входит в какое-либо действие.

Вот примеры того, что я видел: https://www.journaldev.com/20743/android-intentservice-resultreceiver

показать ProgressBar или диалог из IntentService для прогресса загрузки

1 Ответ

0 голосов
/ 12 января 2019

Если вы уже запустили IntentService и не передали ResultReceiver с этим вызовом, его невозможно передать, пока IntentService выполнит вашу onHandleIntent () . В этом случае вы можете создать свой собственный Сервис, который будет иметь что-то вроде onHandleIntent (), который будет выполняться на HandlerThread (IntentService делает то же самое под капотом). Таким образом, с помощью простой службы вы можете получить свой ResultReceiver в onStartCommand () и сделать некоторый обратный вызов для вашего пользовательского интерфейса, проверив экземпляр ResultReceiver в onHandleIntent ()

...