onStartCommand()和onBind()之间的区别

use*_*110 7 android android-service

onBind()方法的"绑定"操作与仅调用onStartCommand()有何不同?

onStartCommand()
Run Code Online (Sandbox Code Playgroud)

"当另一个组件(例如活动)通过调用请求启动服务时,系统会调用此方法startService()."

onBind()
Run Code Online (Sandbox Code Playgroud)

当另一个组件想要通过调用与服务绑定(例如执行RPC)时,系统调用此方法bindService().

我想写一个聊天客户端服务,它接收来自多个用户的消息.哪种功能更合适?

ind*_*ble 9

onStartCommand()当你Service开始工作时,会调用第一个().onCreate()已经完成,并准备好做需要做的事情.

onBind()当另一个线程注册连接到服务以便它们可以通信时,将调用第二个().您可以在此处配置或设置通信方式,例如接口验证或回调注册活动.

绑定允许您将服务绑定到例如活动的生命周期.如果活动完成,则允许释放服务并自行完成.只要有一些东西仍然存在,服务将持续.