Android BroadcastReceive的onReceive是否同时运行?

Android BroadcastReceive的onReceive是否同时运行?,android,broadcastreceiver,Android,Broadcastreceiver,我正在学习Android应用程序。 有件事我想问你们 如果我必须连续几次通知某个广播接收器, 它的onReceive方法能否在完成上一个任务之前被调用? 如果是,它是否正常执行任务 感谢您的回答:)它在主线程中运行,因此没有竞争条件。但是,您可以使用registerReceiver在非UI线程中传递一个处理程序来接收onReceive,android.content.IntentFilter,java.lang.String,android.os.Handler)问题是,如果已经有一个广播正在进

我正在学习Android应用程序。 有件事我想问你们

如果我必须连续几次通知某个广播接收器, 它的onReceive方法能否在完成上一个任务之前被调用? 如果是,它是否正常执行任务


感谢您的回答:)

它在主线程中运行,因此没有竞争条件。但是,您可以使用registerReceiver在非UI线程中传递一个处理程序来接收onReceive,android.content.IntentFilter,java.lang.String,android.os.Handler)

问题是,如果已经有一个广播正在进行中,是否可以进行onReceive进程广播。如果是这样,那么在进程中广播会发生什么情况第二次广播当然会是新的广播,与前一个无关,这意味着它将一个接一个或同时执行这两个命令…不要以为我在开你的玩笑。我只是好奇know@PulkitSethi谢谢你的回答。“它在主线程中运行,所以没有竞争条件。”这意味着BroadcastReceiver有队列或其他东西可以有序地处理模拟广播消息?您尝试了什么吗?@ShivanRaptor抱歉,但我没有。我修复的源代码非常庞大,所以在进行任何更改之前,我只是请求帮助。由于BroadcastReceiver在ui线程中运行,因此没有争用条件,但是请记住,每个onReceive都是在BroadcastReceiver的新实例中调用的-您可以通过在receiver中记录来检查它,如:@Override public void onReceive(上下文上下文,意图){Log.d(标记,“+this);}