Android 创建服务(一)

Service是Android中四大组件之一,在Android开发中起到非常重要的作用,是一个没有用户界面的在后台运行执行耗时操作的应用组件。

通过startService()启动的服务处于“启动的”状态,一旦启动,service就在后台运行,即使启动它的组建被销毁,它还是处于运行状态。

service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务总是藏在后台的。

下面,我们看看如何创建,使用service

首先定义一个类,继承 android.app.Service,并且重写onCreateonDestroy,onStartCommand三个方法

public class MyService extends Service {
    
    @Override
    public void onCreate() {
        Log.i("shxtapp","创建服务");
    }
    @Override
    public void onDestroy() {
        Log.i("shxtapp","停止服务");
    }
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        Log.i("shxtapp","启动服务");
        return super.onStartCommand(intent, flags, startId);
    }

}

然后再

在AndroidManifest.xml中注册,位置同Activity

<service
    android:name=".MyService">
</service>

然后自需要启动服务之前,创建一个Intent,指向这个Service

intent = new Intent(this, MyService.class);

conn = new MyServiceConn();

在需要启动服务的时候

startService(intent);

在需要结束服务的时候

stopService(intent);

在onStartCommand方法中的代码,就是服务要做的工作,服务一般不会单独存在,一般都和广播共存,当接收到指定的广播,调用Service服务来做相应的处理。

服务还有另外一种使用方法,我们下一章再介绍,再见!

原文地址:https://www.cnblogs.com/ccshxt/p/5240657.html