Android Service全解(三)之 Foreground Service

Foreground Service(意译为前台服务)并不完全像其意译的意思那样是工作在前台的Service,因为Service实际上始终是工作在后台的。由于Service工作在后台的原因,使用者并不知道它在运行,有时候开发者需要使用者知道某个Service在运行时,就需要设计一种方案来解决这个问题,Foreground Service就出现了。Foreground Service说简单点其实就是在Service开启的时候使用通知(Notification),这也是Android官方推荐的方式,或者一些其它的方式(甚至可以是Activity,但使用Activity是基本没有必要的)来告知用户这个Service正在运行。
继续阅读

Android Service全解(二)之 bindService

前面已经介绍了的start是开启Service的一种方式,绑定(bind)Service是开启Service的另一种方法,而且绑定Service几乎可以被认为是专门为IPC(进程间交互)准备的。绑定Serivce是通过Context.bindService()方法实现的,bindService和startService有一定的区别,首先就反应在生命周期上。bindService不会回调onStart()/onStartCommand()方法,而会回调onBind()方法;Service要停止绑定则需要要调用unbindService()方法,而不用stopService()或者stopSelf()方法。
继续阅读

Android Service全解(一)之 startService

本系列文章的序介绍了Service的大概情况,本章详细介绍Service的启用运行方法。

运行Service的方法有2种,一种是使用startService(),另一种是使用bindService(),bindService()是一个比较复杂但非常有用的方法,关于bindService()的内容在这个系列的后面会详细讲解。
继续阅读

Android Service全解(序)之 Service概述

Android中Service(android.app.Service -> android.content.ContextWrapper -> android.content.Context -> android.lang.Object)出现的目的是为了解决没有界面的程序运行而产生的,主要是为了做服务(Serve)的工作,但是有时候,Service是可以带有界面的,这个在以后的内容中会谈到如何给一个Service赋予界面的。Service相关的IPC(进程间通信,InterProcess Communication)也是Android开发中非常重要的部分,但是实现IPC也并不是一定要用到Service,其它情况和方法会在以后的内容中讲到。
继续阅读

Android编程要点:Activity、Service、BroadcastReceiver、ContentProvider、Intent

根据Android SDK的引导可以列出Android应用开发不等不涉及的5个关键类,把Android应用开发入手方向大致划分成了4个大块(前4个类为Android应用主体构成,Intent为交互提供可能)。Activity提供应用活动、Service提供后台服务、BroadcastReceiver提供广播支持、ContentProvider提供数据支持(外部数据)、Intent提供交互支持(直译为意图或者意译为组件桥)。
继续阅读