通常当我创建 Android 服务时我会实现onCreate
方法,但在我的上一个项目中这不起作用。我尝试实施onStartCommand
,这似乎有效。
问题是:当我必须实现一个服务时需要哪种方法?我必须实施哪些方法?onCreate
, onStartCommand
, 或两者?每个角色的作用是什么?
onCreate()
当Service
对象被实例化(即:当服务被实例化时)created)。您应该在此方法中执行只需要执行一次的操作(即:初始化一些变量等)。onCreate()
只会被调用一次每个实例化对象.
您只需要实施onCreate()
如果你真的想要/需要初始化一些东西只有一次.
onStartCommand()
叫做每次客户端使用以下命令启动服务startService(Intent intent)
。这意味着onStartCommand()
可以被多次调用。你应该在这个方法中做一些需要的事情每一次客户向您的服务请求某些内容。这在很大程度上取决于您的服务的功能以及它与客户端的通信方式(反之亦然)。
如果你不实施onStartCommand()
那么你将无法从Intent
客户端传递给onStartCommand()
并且您的服务可能无法做任何有用的工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)