gpt4 book ai didi

android - 从 Service.onBind() 中调用 Service.startService() 可以吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:51:06 25 4
gpt4 key购买 nike

我有一个服务,当不再有任何 Activity 绑定(bind)到它时,我想确保它不会停止()。

我知道 startService() 用于实现此目的,但是可以从服务的 onBind() 方法中调用它吗?

从 Activity 中调用它对我来说似乎是一个 hack,因为服务最清楚它是否想在 onUnbind() 之后停留。

Activity 指示服务的当前状态并提供一些控制,因此 bindService() 似乎是适合在此处使用的方法。

最佳答案

onBind() 中调用 startService() 应该没问题。如果您在 onBind() 中有逻辑可以确定服务需要保持运行,即使客户端已解除绑定(bind),那么这似乎是执行此操作的合乎逻辑的地方。

我不同意声称不推荐的答案。您所描述的体系结构有效地利用了封装。客户只想绑定(bind)/解除绑定(bind),他们不必知道服务是如何(内部)实现的。服务应该控制自己的生命周期。

关于android - 从 Service.onBind() 中调用 Service.startService() 可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14800859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com