创建和控制Service
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方法:
@Override
public void onStart(Intent intent, int startId) {
// TODO: Actions to perform when service is started.
}
一旦你构建了一个新的Service,你就必须在应用程序的manifest中注册它。
通过在application节点中包含一个service标签来注册。你可以在service标签上使用特性来enable/disable Service,和使用一个requires-permission标志来指明其它应用程序访问它所需的权限。
下面的service标签是为上面创建的框架Service添加的:
<service android:enabled=”true” android:name=”.MyService”></service>