简介
Service(服务)作为Android四大组件之一,在应用程序中扮演着非常重要的角色,不能自己运行只在后台运行,可以和其它组件进行交互。它主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运行的任务。必要的时候我们甚至可以在程序退出的情况下,让Service在后台继续保持运行状态。总之Service是藏在后台的
启动服务有两种方式,本章先介绍Started方式。
启动/停止Service
首先给出官方提供的Service生命周期图(后续详细分析1,这里简单介绍。)
上图中的左半部分即为Started方式启动Service的生命周期,具体启动/停止Service步骤如下:
- 创建一个类继承android.app.Service类,重写
onCreate()
,onStartCommand()
和onDestroy()
三个方法。 - 在AndroidManifest.xml文件中声明Service。
- 在Activity中,通过Intent对象设置要启动的Service,调用Context类中的
startService()
方法启动。 - 调用Context类中的
stopService()
方法停止Service(另一种方式下面讲)。
代码如下:
MyService类代码:
package com.sywyg.servicetest;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
/**
* 自定义Service类
* @author sywyg
* @since 2015/4/30
*/
public class MyService extends Service {
public MyService() {
}
/**
*Service第一次被创建时调用
*/
@Override
public void onCreate(){
super.onCreate();
Log.d("MyService","onCreate...");
}
/**
*每次启动服务时调用,Service需执行的业务逻辑写在这里。后续详解
* @param intent对应启动时的intent