Android如何排队IntentService上的多个意图

前端之家收集整理的这篇文章主要介绍了Android如何排队IntentService上的多个意图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于IntentService的使用,我有些困惑.

>文档说明IntentService将发送给它的所有意图都排队并一次处理它们.
>我看了一下code of IntentService,我看到onStartCommand()接收到这个意图,调用onStart()作为消息发送到Intents队列

我很确定我在文档中看到onStartCommand()只被系统调用一次,如果你发出两次startService(),第二次调用不会导致onStartCommand()被调用.
我可能在这里错了,因为我一直在寻找这份文件,我似乎找不到.
这与以前的概念相矛盾,说明您可以通过onStartCommand()在IntentService中排队多个意图.

所以我需要帮助,我如何排队IntentService上的多个意图?

我只看到两个选项:

每次startService()都调用不同的意图
>直接调用onStart()或onStartCommand()(绕过startService())

解决方法

您使用Context.startService()发送Intent,Intent由您的服务在onHandleIntent()中提取.

第一次调用startService()将导致服务的onStartCommand()被调用.认为它是一个构造函数.后续调用startService()不需要重新启动服务,因为它已经在运行了;他们只会导致更多的电话服务的onHandleIntent().

猜你在找的Android相关文章