onHandleIntent中的代码是否阻止IntentService接收其他意图?

时间:2014-04-24 06:38:03

标签: android service bluetooth blocking intentservice

我有一个IntentService连接到蓝牙(阻塞部分),发送数据和断开连接。我修改了IntentService来处理将停止服务的特殊意图。但是,似乎由于阻塞代码连接到蓝牙设备(无限期或直到被用户取消,如预期),在代码的阻塞部分不再阻塞之前,不会调用覆盖onStart或onStartCommand。

onHandleIntent中的代码是否可以阻止其他意图到达服务?

1 个答案:

答案 0 :(得分:1)

是。 IntentService使用单个工作线程。

或者引用文档:

  

所有请求都在一个工作线程上处理 - 它们可以作为   只要有必要(并且不会阻止应用程序的主循环),   但一次只能处理一个请求。

来自https://developer.android.com/reference/android/app/IntentService.html

这意味着一次只能在IntentService上调用onStartCommand