【android】service

service的创建

service只需要创建一个类,然后继承自service,生命周期只有onCreat()和onStop方法()

绑定

可以用intent启动service,也可以用绑定,绑定的方法是,activicy继承自ServiceConnection,bindService(自己的Intent,this,Context.BIND_AUTO_CREATE),重写接口的两个方法,OnServiceConnection和OnServiceDisconnection. service类里面重写OnBind方法,并让其返回Binder类型的值。可以建立一个内部类继承自Binder,然后实例化一个对象,让Ibinder方法返回这个类。

service在后台运行

如归是用intent启动了服务,如果没有手动销毁,即使程序停止运行,service也不会停止。如果绑定了service,那么应该先解绑,再stop才可以关掉service

如果是以绑定的方式运行了服务,activity销毁服务结束

绑定之后,就可以和activity通信

获取服务中的值

activity中的OnServiceConnection的参数IBinder就是就是在service中返回的值,也就是我们自己创建的类,在这个类中,创建个方法 ret()让他返回自己,然后在service类中定义get方法,在activity中OnServiceConnection里,ibinder.ret()赋值给一个我们自己的service类型的参数,然后通过这个参数的get方法获得数据。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。