一、Android支持服务的原因
1.简化后台任务的实现(本地服务)
2.在同一设备上运行的应用程序之间执行进程间通信(远程服务)
二、本地服务与远程服务
1.本地服务
服务只供同一进程间的组件使用,客户端使用Context.startService来启动该服务,启动后将一直运行,直至客户端调用Context.stopService或者服务自己调用stopSef时终止
PS:如果在服务启动后再次调用Context.startService,不会再新建一个service实例,但会再次调用onStartCommand方法
三、demo
1.项目结构
2.具体源码
a.BackgroundService.java
BackgroundServiceActivity.java
运行结果
点击开始按钮
可以看到通知栏显示了,再来看看logcat的显示
再次点击start按钮
可以看到这次没有执行onCreate,而且counter变量变为2
点击stop按钮
通知信息消失了
并且执行了service的onDestory方法
可以看到,打印了sleep interrupted!
综上,这就是今天要讲的本地service的基本入门