我有一个IntentService
连接到蓝牙(阻塞部分),发送数据和断开连接。我修改了IntentService
来处理将停止服务的特殊意图。但是,似乎由于阻塞代码连接到蓝牙设备(无限期或直到被用户取消,如预期),在代码的阻塞部分不再阻塞之前,不会调用覆盖onStart或onStartCommand。
onHandleIntent中的代码是否可以阻止其他意图到达服务?
答案 0 :(得分:1)
是。 IntentService使用单个工作线程。
或者引用文档:
所有请求都在一个工作线程上处理 - 它们可以作为 只要有必要(并且不会阻止应用程序的主循环), 但一次只能处理一个请求。
来自https://developer.android.com/reference/android/app/IntentService.html
这意味着一次只能在IntentService上调用onStartCommand
。