service的实现主要有两种方式,一种是onStart方式,另一种是onBoundd方式。两种方式的关于service的生命周期不一样。前者是和activity的生命周期一样的,后者则不是。activity结束了service可以继续运行。
onStart 方法来调用service的话,调用者其实和service是没有关系的,调用者消亡了的话,service是依然可以继续运行的;
onBound方式的话调用者和service是绑定在一起的,调用者消亡的了话,service也会跟着消亡了。
onStart 方法的创建的service一开始是onCreate 然后调用onStartCommand() (在老的版本中是onStart()函数,新版本中调用onStartCommand的话还是会去调用onStar方法,建议使用onStartCommand方式)。如果该service不stop的话,再点的话一直会是onstar相应,onCreate只有在第一次启动的时候会调用。
下面的例子:
有两个按钮:一个启动service,另一个停止service。具体实现如下:
1)ServiceText1.java
用于调用sercice程序:
代码: