service的启动有两种方式:
当程序运行时,Context.startService()方法会使系统先调用服务的onCreate()方法,接着调用onStart()方法,此时服务开启。当程序终止时,系统会调用onDestroy()方法,此时虽然程序终止但服务不会终止,仍然在后台继续运行,必须调用Context.stopService()方法才会终止服务。
当程序运行时,Context.bindService()方法会使系统先调用服务的onCreate()方法,接着调用onBind()方法,此时服务绑定。当程序终止时,系统会调用onDestroy()方法,程序和服务终止,即使没有Context.bindService()方法,服务也会终止,虽然表面没什么问题,但是会报错,所以绑定服务后一定要有Context.bindService()方法解绑。
为了前台可以获取后台信息,一般采取第二种方法,代码如下:
前台代码:
service代码:
通过调用下面的方法:
前台便可启动服务。