我正在尝试在收到推送通知时更新 UI 的状态。为此,我需要启动一个AsyncTask
执行一些网络操作的程序,然后根据结果更新 UI。
根据文档BroadcastReceiver
,在接收器中执行异步操作是不安全的,因为执行它的进程可能会在onReceive()
返回后立即被终止,假设该进程中没有其他“应用程序组件”。
是BroadcastReceiver
运行在自己的进程中,还是和包含的Activity在同一个进程中?由于我只关心任务的完成,只要有 UI 要更新,我不担心AsyncTask
如果 Activity 关闭会死。假设 BroadcastReceiver 与活动处于同一进程中,这是否可以安全/安全地启动我在接收器中描述的任务?
编辑:
为了澄清,我在活动中注册接收器onResume()
并取消注册它onPause()
,所以它应该只在活动已经处于活动状态时接收意图。