potatoes的专栏

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方法获得数据。

禁止转载

人生谁无少年时,甜苦酸辛各自知。

potatoes的专栏

相关文章:

你感兴趣的文章:

标签云: