服务开启的两种方法 startService和bindservice

页面销毁后 bingservice会解绑 但是startservice 只要不调用stopService方法,服务就不会销毁
多次调用startService方法开启服务 只会调用一次onCreate方法 会多次调用onstartcommpnd方方法
而通过BindService方法开启服务 只会调用一次onCreate和onBind方法
关于onStartCommang方法的返回值
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
//获取集合以及position
list=intent?.getParcelableArrayListExtra(“list”)
position=intent?.getIntExtra(“position”,-1)?:-1
//开始播放音乐
binder.playItem()
//START_STICKY 粘性的 service强制杀死之后 会尝试重新启动service 不会传递原来的intent(null)
//START_NOT_STICKY 非粘性的 service强制杀死之后 不会尝试重新启动service
//START_REDELIVEL_STICKY service强制杀死之后 会尝试重新启动service 会传递原来的intent
return START_NOT_STICKY
}

利用此方法保护应用有待验证
Activity和Service之间通讯的方式
Activit–>service
可以通过bindService的方式,将intent传递给service

service–>Activity
1.接口
2.Handler
3.广播
4.EventBus