Android onCreate 或 onStartCommand 用于启动服务

2023-11-26

通常当我创建 Android 服务时我会实现onCreate方法,但在我的上一个项目中这不起作用。我尝试实施onStartCommand,这似乎有效。

问题是:当我必须实现一个服务时需要哪种方法?我必须实施哪些方法?onCreate, onStartCommand, 或两者?每个角色的作用是什么?


onCreate()Service对象被实例化(即:当服务被实例化时)created)。您应该在此方法中执行只需要执行一次的操作(即:初始化一些变量等)。onCreate()只会被调用一次每个实例化对象.

您只需要实施onCreate()如果你真的想要/需要初始化一些东西只有一次.

onStartCommand()叫做每次客户端使用以下命令启动服务startService(Intent intent)。这意味着onStartCommand()可以被多次调用。你应该在这个方法中做一些需要的事情每一次客户向您的服务请求某些内容。这在很大程度上取决于您的服务的功能以及它与客户端的通信方式(反之亦然)。

如果你不实施onStartCommand()那么你将无法从Intent客户端传递给onStartCommand()并且您的服务可能无法做任何有用的工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android onCreate 或 onStartCommand 用于启动服务 的相关文章

随机推荐

  • 在 Oracle 中插入一百万行的最快方法

    如何以最佳方式在 Oracle 中插入超过一百万行以执行以下过程 如果我将 FOR 循环增加到一百万行 它就会挂起 create or replace procedure inst prc1 as xssn number xcount nu
  • 在调试会话之间保留 app.config 中的数据

    因此 长话短说 我正在开发一个应用程序 它将利用一些可能在运行时通过应用程序本身更改的配置信息 为此 我想使用Settings class 问题在于 信息在应用程序的不同运行之间没有保留 Run 1 Console WriteLine Se
  • pod install -bash:pod:找不到命令

    我安装了pod前一段时间 但是 它已经停止工作 所以我正在努力解决this again 然而 我几乎立即遇到了一个问题 pod install bash pod command not found 有什么建议为什么会发生这种情况吗 好的 找
  • 如何将字母数字电话号码转换为数字

    UPDATE 我的实用程序的最终版本如下所示 StringBuilder b new StringBuilder for char c inLetters toLowerCase toCharArray switch c case 0 b
  • Simple_form 错误 - ActiveRecord::Relation:Class 的未定义方法“model_name”

    我试图通过将参数传递到 where 来向我的编辑操作添加更多条件逻辑 每当我使用 find params id 以外的任何内容时 都会出现错误 undefined method model name for ActiveRecord Rel
  • python中的求和矩阵列

    我可以对零列中的项目进行求和 但是我应该在哪里更改代码以对矩阵中的第 2 列 第 3 列或第 4 列求和呢 我很容易被难住 def main matrix for i in range 2 s input Enter a 4 by 4 ma
  • 编写 JSON 模式来检测具有重复名称的对象

    根据以下帖子 JSON 语法是否允许对象中有重复的键 JSON 中具有相同名称的键是有效的 但大多数解析器会用它找到的最后一个值覆盖该值 无论如何 json 模式中是否有检测重复名称并引发错误的方法 我希望所有 json 键在对象中都具有唯
  • 在 JavaScript 中压缩开关盒

    我创建了一个棋盘 但我不喜欢 switch case 语句的外观 我认为一定有一种方法可以压缩它 但我找不到 也许你们中的一些人可以帮助我 额外说明一下 棋子是在一个二维数组中 arr2 R N B Q K B N R P P P P P
  • __RTC_CheckEsp是如何实现的?

    RTC CheckEsp是一个验证正确性的调用esp 堆栈 寄存器 调用它是为了确保esp通过函数调用保存 有人知道它是如何实施的吗 对汇编程序进行一点检查就可以发现这一点 0044EE35 mov esi esp 0044EE37 pus
  • 在另一个框架中单击按钮时更新框架上的 JPanel 内容

    我创建了一个框架 x1 其中有一个面板 p1 加载 x1 时 复选框会动态添加到 p1 添加到 p1 的复选框数量取决于数据库表 t1 中满足特定条件的数据值的数量 框架 x1 上有一个按钮 b1 当点击b1时 会显示另一个框x2 在框x2
  • Python:select() 不会发出来自管道的所有输入信号

    我正在尝试使用 Python 加载外部命令行程序并通过管道与其进行通信 该程序通过标准输入获取文本输入 并按行生成文本输出到标准输出 通信应该使用 select 进行异步 问题是 并非程序的所有输出都在 select 中发出信号 通常最后一
  • 在 PHP 中获取两个日期时间之间的间隔秒数?

    2009 10 05 18 11 08 2009 10 05 18 07 13 这应该生成235 怎么做呢 对于 DateTime 对象 您可以这样做 date new DateTime 2009 10 05 18 07 13 date2
  • 更新 dll 而不停止服务

    我想在不停止服务的情况下更新服务器进程的 dll 我怎么做 有点像asp net如何自动拾取放置在bin文件夹中的新dll Asp Net 使用一种称为卷影副本 如果将更新的 dll 复制到应用程序的 bin 子目录中 ASP NET 运行
  • Spring 反应式 WebClient GET json 响应,内容类型为“text/plain;charset=UTF-8”

    当我请求一个端点返回内容类型为 text plain charset UTF 8 且格式正确的 json 响应时 我遇到了 Spring 5 反应式 WebClient 的问题 例外的是 org springframework web re
  • UIImage 动画图像色调颜色?

    有没有办法给动画中的图像着色 我知道我可以像这样对单个图像进行着色 var imageOne UIImage UIImage named pullto 1 png imageOne imageOne imageWithRenderingMo
  • Xcode 6.3 与 Swift 1.0 可能吗?

    是否可以使用 Xcode 6 3 但保留 Swift 1 0 使用 iOS 8 2 SDK 没有帮助 我找不到 Swift 版本的任何开关 编辑 我在 Swift 1 0 中有一个扩展构建 我不想碰它 但更新我的主项目 如果您遇到语法问题
  • Image.fromarray 只产生黑色图像

    我正在尝试使用将 numpy 矩阵保存为灰度图像Image fromarray 它似乎适用于随机矩阵 但不适用于特定矩阵 应该出现一个圆圈 谁能解释我做错了什么 from PIL import Image import numpy as n
  • C 中 long double 的转换说明符

    The 长双数据类型在 C 中可以有这些转换说明符 Le LE Lf Lg LG 参考 我写了一个小程序来测试 include
  • MongoDB - 子级和父级结构

    最近刚刚深入研究了 MongoDB 的 NoSQL 世界 我仍然在努力理解在没有第三次标准化数据然后加入数据的情况下最好的架构方法 目前我正在设计的项目是一个简单的文章集合 类似于维基 一篇文章将有标题和文本 以及 可能 一篇父文章和一篇或
  • Android onCreate 或 onStartCommand 用于启动服务

    通常当我创建 Android 服务时我会实现onCreate方法 但在我的上一个项目中这不起作用 我尝试实施onStartCommand 这似乎有效 问题是 当我必须实现一个服务时需要哪种方法 我必须实施哪些方法 onCreate onSt