当前位置: 首页 > 知识库问答 >
问题:

Android如何在IntentService上对多个意向进行排队

子车轶
2023-03-14

我对IntentService的使用有点困惑。

  1. 文档中说,IntentService将发送给它的所有意图排队,并一次处理一个意图

我很确定我在文档中读到过这样的情况:系统只调用onStartCommand()一次,如果您发出两次startService(),第二次调用不会导致调用onStartCommand()<我可能错了,因为我一直在寻找这篇文档,但似乎找不到
这与之前的概念相矛盾,即可以通过onStartCommand()在IntentService中对多个意图进行排队。

所以我需要帮助,如何在一个IntentService上对多个意图进行排队?

我只看到两种选择:

>

  • 每次调用starService()都有不同的意图

    直接调用onStart()或onStartCommand()(绕过startService())

  • 共有1个答案

    陶永望
    2023-03-14

    您可以通过上下文发送意图。启动服务(),您的服务将在OnHandleContent()中获取意图。

    第一次调用starService()将导致调用服务的onStartControl()。把它想象成一个构造函数。对starService()的后续调用不需要再次启动服务,因为它已经在运行;它们只会导致对服务的onHandleIntent()的更多调用。

     类似资料:
    • 我的应用程序中正在运行IntentService。当用户按下“取消”按钮时,我想停止,但onHandleIntent会继续运行,即使在调用onDestroy(IntentService)时也是如此。 在执行过程中,我尝试了StSelfFe(),StutoIn(int)和StestService(意图),但不起作用。 我试图从碎片中停下来 提前感谢

    • 在我的应用程序中,我想将一些数据从服务器添加到的适配器中。 我编写了下面的代码,可以从服务器获取数据并显示到中。 但我的json没有用服务器的字母表排序。 我想在将这些数据添加到之前,先用字母表排序并添加到中。 我的json: 在添加到之前,我希望在companyName中使用Alphabet对json进行排序。 但我希望将其排序到Android而不是服务器。 我的Java代码: 在将json添加

    • 问题内容: 如何在Android上按标签名称的升序和降序对JSONArray进行排序。 在我的应用程序中,我有一个类似于以下内容的JSON,需要根据用户选项显示数据(按user_id标记按升序或降序排序)。我已将JSON解析如下: 这是我的JSON响应: 解析时,我需要按“ user_id”标签名称排序的“结果” JSON数组,如何在Android中做到这一点? 问题答案: 这段代码可以返回排序后

    • 如何在Android上按其标记名升序和降序排序JSONArray。 在我的应用程序中,我有一个如下所示的JSON,需要根据users选项显示数据(按user_id标记按升序或降序排序)。我将JSON解析为:

    • 问题内容: 我有一个SQLite表,其格式如下: 学生列中有学生姓名,其他列中有描述各个科目的分数的数值。我想为每个学生找到的是他们学科的排名。例如,对于该行, 我想要的输出是 这是每个学生的全部5门科目的排名。输出不必采用我显示的格式。我只需要一个输出,指示每个学生每个学科的排名。如何在SQLite中实现它? 我发现了RANK和ROW_NUMBER,但不了解如何将它们用于多列。 问题答案: 我的