mainthread处理广播接收器的概念是什么?

时间:2016-07-27 07:56:43

标签: java android

我对广播接收器和处理它的mainthread有疑问。

如果主线程正在进行一些计算(或者你可以说在构造函数或方法中执行代码)并且触发了广播接收器onReceive()?将挑选哪项任务

  1. 构造函数/方法将完成其执行,然后调用onReceive。 (这就是我的理解)

  2. onReceive将首先触发

2 个答案:

答案 0 :(得分:0)

构造函数/方法将完成其执行,然后调用onReceive 应该是答案,因为总是在主线程上调用BroadcastReceivers。

  

void onReceive(上下文上下文,                   意图)。

     

当BroadcastReceiver接收到此方法时,将调用此方法   意图广播。在此期间,您可以使用其他方法   BroadcastReceiver查看/修改当前结果值。这个   方法总是在其进程的主线程内调用,除非   你明确要求在不同的线程上安排它   使用registerReceiver(BroadcastReceiver,IntentFilter,String,   android.os.Handler)。

More details here.

答案 1 :(得分:0)

你是对的......

1)首先执行主线程,然后只执行任何待处理的任务。

2)如果主线程花费太长时间来完成其任务,它只会给出exception这样的东西:

  

应用程序" AndroidThreadDemo"没有回应。

请参阅this link了解更多信息..我相信它会对您有所帮助。