对于IntentService的使用,我有些困惑。
我很确定我在文档中读到了sostart,其中onStartCommand()仅由系统调用一次,如果发出两次startService(),则第二次调用不会导致onStartCommand()被调用。
我在这里可能是错的,因为我一直在寻找这份文档,但似乎找不到。
这与先前的概念相反,前一个概念表示您可以通过onStartCommand()在IntentService中排队许多Intent。
所以我在这里需要帮助,如何在IntentService上排队多个Intent?
我只看到两个选择:
最佳答案
您将Intent
与Context.startService()
一起发送,并且您的服务会在onHandleIntent()
中获取Intent。
首次调用startService()
将导致调用服务的onStartCommand()
。将其视为构造函数。后续对startService()
的调用无需再次启动该服务,因为该服务已经在运行。它们只会导致对该服务的onHandleIntent()
的更多调用。