创建前台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);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值