Фон
Начиная с Honeycomb (API 11), у Android есть функция, позволяющая широковещательному радиоприемнику работать с асинхронным способом, предоставляя ему около 10 секунд, прежде чем он предположит, что он может убить свой процесс, используя метод под названием " goAsync":
Это может быть вызвано приложением в onReceive (Context, Intent) для разрешить ему активировать трансляцию после возвращения из этого функция. Это не меняет ожиданий относительно реагируя на трансляцию (заканчивая ее в течение 10 секунд), но позволяет реализация переместить работу, связанную с ней, на другой поток чтобы избежать срыва основного потока пользовательского интерфейса из-за диска IO.
Проблема
Я искал во многих местах и не нашел ни одного примера или учебника о том, как его использовать.
Не только это, но метод возвращает экземпляр PendingIntent, который я не уверен, что с ним делать:
Возвращает BroadcastReceiver.PendingResult, представляющий результат активная трансляция. Сам BroadcastRecord больше не активен; все данные и другое взаимодействие должны пройти API BroadcastReceiver.PendingResult. PendingResult.finish() метод должен быть вызван после завершения обработки трансляции.
Вопрос
Как вы используете этот метод?
Что такое возвращаемый им PendingIntent, и что мне с ним делать?