Как можно использовать resultReceiver без startService?

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

Вот один пример, который я видел и здесь другой

0
0
37
1

Ответы 1

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

Другие вопросы по теме