首页 > 代码库 > 创建前台Service

创建前台Service

android采用一种动态的方法管理资源,这就是导致应用程序组件可能在很少或者没有警告的情况下被终止。当确定哪个应用程序或者组件可以被终止时,android给正在运行的Service赋予了第二高的优先级,只有处于激活状态,前台运行的Activity才可以拥有更高的优先级。在service需要直接和用户交互的情况下(比如播放音乐),也许应该把service的优先级提升到与前台Activity一样高。可以通过Service的startForeground方法来设置该Service在前台运行。

由于前台Service预期会和用户直接交互,因此在调用startForeground方法的时候,必须指定一个持续工作的Notification.只要Service在前台运行,这个通知就会被显示。

startForeground(NOTIFICATION_ID,mynotification);

将一个Service设为前台运行可以有效地避免运行时在释放资源的时候终止这个Service.如果同时运行多个这种不可终止的Service,系统就会很困难。所有需谨慎啊。

当Service不再需要前台运行的优先级时,可以使用stopForeground方法,把它移到后台。并可以选择是否移除通知。Notification在Service停止或者终止的时候是会自动取消的

	stopForeground(true);


创建前台Service