背景
从Honeycomb(API 11)开始,Android具有一项功能,允许broadcastReceiver以异步方式运行,并为其提供大约10秒的时间,之后它会假定可以杀死其进程,使用一个称为“goAsync"的方法:
应用程序可以在onReceive(Context、Intent)中调用此方法,以使广播在返回该函数后保持活动状态。这不会改变对广播响应相对迅速的期望(10秒内完成),但允许实现将与其相关的工作移动到另一个线程中,以避免由于磁盘IO而导致主UI线程出现故障。
问题
我在很多地方搜索过,但没有找到任何关于如何使用它的示例或教程。
不仅如此,该方法返回一个 PendingIntent 实例,我不确定该怎么处理它:
返回代表活动广播结果的BroadcastReceiver.PendingResult。BroadcastRecord本身不再处于活动状态;所有数据和其他交互必须通过BroadcastReceiver.PendingResult API进行。一旦处理广播完成,必须调用PendingResult.finish()方法。
问题
如何使用这个方法?
返回的PendingIntent是什么,我该怎么处理它?