前台服务
一个Service不管是被启动或是被绑定,默认是运行在后台的。有一种特殊的服务叫前台服务,是一种能被用户意识到它存在的服务,默认是不会被系统自动销毁的,但是必须提供一个状态栏Notification,在通知栏放置一个持续的标题。这个Notification 是不能被忽略的,除非服务被停止或从前台删除。这类服务主要用于一些需要用户能意识到它在后台运行并且随时可以操作的业务,如音乐播放器,设置为前台服务,使用一个Notification 显示在通知栏,可以使用户切歌或是暂停之类的。
前台服务与普通服务的定义规则是一样的,也需要继承 Service,这里没有区别,唯一的区别是在服务里需要使用 Service.startForeground(int id,Notification notification)方法设置当前服务为一个前台服务,并为其制定 Notification。其中的参数 id 是一个唯一标识通知的整数,但是这里注意这个整数一定不能为0,notification为前台服务的通知,并且这个 notification 对象只需要使用 startForeground()方法设置即可。前台服务可以通过调用 stopForeground(true)来使当前服务退出前台,但是并不会停止服务。
有一点需要注意,startForeground()需要在Android 2.0之后的版本才生效,在这之前的版本使用setForeground()来设置前台服务,并且需要NotificationManag