我想使用一个启动(前台)服务来管理一个网络连接,当用户离开应用程序很短时间时该网络连接应该存在,并且用户应该知道(因此他可以返回应用程序并且可能断开)。此服务将仅在同一过程中的活动本地使用。
也许只是因为我是Android的新手,但我发现在使用它的每个活动中绑定到这个服务都是不必要的 - 特别是绑定的异步性质,这对于访问服务来说似乎只是必要的在一个不同的过程中。是否有任何指示反对仅通过静态变量访问已启动的服务?
答案 0 :(得分:1)
也许我理解你的问题是错误的,但是没有必要从每个Service
绑定到已启动的Activity
。相反,您只需启动 Service
即可与您进行交互。如果onStartCommand()
已经启动,则会调用Service
。您可以添加Intent
的额外内容,以Service
开头,以区分第一个开始和后续开始。
当然 - 这解决了您不希望在您的活动与Service
之间建立客户端 - 服务器交互模式的用例 - 该方案需要绑定,如果您确实需要绑定,那么您需要绑定需要由Service
提供的每个组件。