* 1.Service是一个应用程序组件

* 2.Service没有图形化界面

* 3.Service通常用来处理一些耗时比较长的操作

* 4.可以使用Service更新ContentProvider,发送Intent以及启动系统的通知等等

*

* 1.Service不是一个单独的进程

* 2.Service不是一个线程


界面activity_main.xml

<Buttonandroid:id="@+id/startButton"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="Startservice"/><Buttonandroid:id="@+id/stopButton"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@id/startButton"android:text="Stopservice"/>

FirstService.java

publicclassFirstServiceextendsService{@OverridepublicIBinderonBind(Intentintent){System.out.println("ServiceonBind");returnnull;}@OverridepublicvoidonCreate(){super.onCreate();System.out.println("ServiceonCreate");}@OverridepublicintonStartCommand(Intentintent,intflags,intstartId){System.out.println("flags-->"+flags);System.out.println("startId-->"+startId);System.out.println("ServiceonStartCommand");returnsuper.onStartCommand(intent,flags,startId);}@OverridepublicvoidonDestroy(){System.out.println("ServiceonDestroy");super.onDestroy();}}

MainActivity.java

publicclassMainActivityextendsActivity{/***1.Service是一个应用程序组件*2.Service没有图形化界面*3.Service通常用来处理一些耗时比较长的操作*4.可以使用Service更新ContentProvider,发送Intent以及启动系统的通知等等**1.Service不是一个单独的进程*2.Service不是一个线程**启动Context.startService()*停止Context.stopService()*Activity继承自Context所以可以直接调用startService()和stopService()方法*/privateButtonstartButton;privateButtonstopButton;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);startButton=(Button)findViewById(R.id.startButton);stopButton=(Button)findViewById(R.id.stopButton);startButton.setOnClickListener(newStartServiceListener());stopButton.setOnClickListener(newStopServiceListener());}classStartServiceListenerimplementsOnClickListener{@OverridepublicvoidonClick(Viewv){Intentintent=newIntent();intent.setClass(MainActivity.this,FirstService.class);startService(intent);}}classStopServiceListenerimplementsOnClickListener{@OverridepublicvoidonClick(Viewv){Intentintent=newIntent();intent.setClass(MainActivity.this,FirstService.class);stopService(intent);}}}

先点击"Start service"按钮,再点击"Stop service"按钮,控制台的输出如下

11-26 12:42:27.697: I/System.out(1347): Service onCreate

11-26 12:42:35.057: I/System.out(1347): flags-->0

11-26 12:42:35.461: I/System.out(1347): startId-->1

11-26 12:42:35.937: I/System.out(1347): Service onStartCommand

11-26 12:43:07.969: I/System.out(1347): Service onDestroy