Android BroadCast Receiver 在 UI 线程中运行

Android BroadCast Receiver runs in UI thread

我的场景是从服务器获取数据并显示出来。

我是 运行 从服务器获取数据的不同进程,但我的应用程序在下载过程中挂起。

我使用广播接收器将其他进程的响应发送到 UI 线程。

我认为 BroadCastReceiver 在 UI 线程中运行?我做错了什么吗

是的,BroadcastReceivers 方法 onReceive 在主线程上 运行,如果需要,您可以指定它在单独的线程上运行,有一个方法可以做到这一点。方法是registerReceiver (BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission, Handler scheduler)

查看 onReceive() 方法的文档以获取更多信息