APP开发实战69-前台服务

17.4前台服务

前台服务是被认为是用户已知的正在运行的服务,当系统需要释放内存时不会优先杀掉该进程。前台进程必须发一个 notification 在状态栏中显示,直到进程被杀死。

因为前台服务会一直消耗一部分资源,但不像一般服务那样会在需要的时候被杀掉,所以为了能节约资源,保护电池寿命,一定要在建前台服务的时候发notification ,提示用户。当然,系统提供的方法就是必须有 notification 参数的,所以不要想着怎么把 notification 隐藏掉。

@Override

publicint onStartCommand(Intent intent, int flags, int startId) {

// TODO Auto-generated method stub

Intent notificationIntent = new Intent(this,MainActivity.class);

PendingIntent pendingIntent =PendingIntent.getActivity(this, 0, notificationIntent, 0);

Notification noti = newNotification.Builder(this)

.setContentTitle("Title")

.setContentText("Message")

.setSmallIcon(R.drawable.ic_launcher)

.setContentIntent(pendingIntent)

.build();

startForeground(12346, noti);

return Service.START_STICKY;

}

startForeground() 方法就是将服务设为前台服务,参数12346就是这个通知唯一的id,只要不为0即可。

(转自:http://www.tuicool.com/articles/iu22QnF)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文出处: http://www.androidchina.net/6174.html Notification在...
    木木00阅读 14,249评论 3 32
  • 1.什么是前台服务 前台服务是那些被认为用户知道(用户所认可的)且在系统内存不足的时候不允许系统杀死的服务。前台服...
    紫豪阅读 68,322评论 31 130
  • 参考: 服务|Android Developers 一. 什么是服务 服务是一个可以在后台执行长时间运行操作而不提...
    NickelFox阅读 3,593评论 0 3
  • 本人初学Android,最近做了一个实现安卓简单音乐播放功能的播放器,收获不少,于是便记录下来自己的思路与知识总结...
    落日柳风阅读 19,390评论 2 41
  • 提到女词人,自然想到的便是李清照,班婕妤,鱼玄机,薛涛这样声名在外的女子,又或是柳如是、董小宛这般美艳的风尘女子。...
    柳之尺阅读 7,351评论 8 37

友情链接更多精彩内容