Android 创建服务(一)
Service是Android中四大组件之一,在Android开发中起到非常重要的作用,是一个没有用户界面的在后台运行执行耗时操作的应用组件。
通过startService()启动的服务处于“启动的”状态,一旦启动,service就在后台运行,即使启动它的组建被销毁,它还是处于运行状态。
service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务总是藏在后台的。
下面,我们看看如何创建,使用service
首先定义一个类,继承 android.app.Service,并且重写onCreate,onDestroy,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服务来做相应的处理。
服务还有另外一种使用方法,我们下一章再介绍,再见!