标签:android
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方法获得数据。
标签:android
原文地址:http://blog.csdn.net/fried_potatoes/article/details/43908595