Android Service用在后台运行,所以我们要依靠其他程序或组件启动、停止和控制。
接下来我们来学习如何创建一个Service,如何使用Intent和startService方法来启动和停止它。之后,你讲学习如何绑定一个Service到Activity上,为交互性提供更加丰富的界面。
创建一个Service
通过扩展Service基类来定义一个Service。你需要重写onBind和onCreate方法,如下面的框架类所示:
import android.app.Service;import android.content.Intent;import android.os.IBinder;public class MyService extends Service { @Override public void onCreate() { // TODO: AcTIons to perform when service is created. } @Override public IBinder onBind(Intent intent) { // TODO: Replace with service binding implementaTIon. return null; }}
在多数情况下,你还需要重写onStart方法,这个方法在Service通过startService启动时会调用,因此,在Service的生命周期里,它能执行很多次。
下面的代码片段显示了重写onStart方法:
@Overridepublic void onStart(Intent intent, int starTId) {// TODO: AcTIons to perform when service is started.}
一旦你构建了一个新的Service,你就必须在应用程序的manifest中注册它。
通过在application节点中包含一个service标签来注册。你可以在service标签上使用特性来enable/disable Service,和使用一个requires-permission标志来指明其它应用程序访问它所需的权限。