lilu920923的专栏

Service是一个应用程序组件,没有界面,在后台运行和Activity是一个级别的。通常用来处理一些耗时较长的操作。可以使用Service更新ContentProvider,播放MP3,网络连接,发送Intent以及启动系统的通知等等。 Service不是一个单独的进程 Service不是一个线程,(一个进程有多个线程)启动Service: —Context.startSevice();停止Service —Context.stopService();

FirstService.java中的代码:

//创建了一个服务类public class FirstService extends Service {//重载onBind()函数,该函数在Service被绑定后调用,能够返回Service对象实例@Overridepublic IBinder onBind(Intent intent) {return null;}//当创建一个Service对象之后,首先会调用这个函数 public void onCreate() {super.onCreate();System.out.println("Service onCreate");}//主要功能放在这里public int onStartCommand(Intent intent,int flags,int startId){System.out.println("flags–>"+flags);System.out.println("startld–>"+startId);System.out.println("Service onStartCommand");return START_NOT_STICKY;}//关闭Service,释放资源。public void onDestroy(){System.out.println("Service onDestroy");super.onDestroy();}}

MainActivity.java中的代码:

public class MainActivity extends Activity {//创建两个按钮private Button startServiceButton=null;private Button stopServiceButton=null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);startServiceButton=(Button)findViewById(R.id.startService);//添加监听startServiceButton.setOnClickListener(new StartServiceListener());stopServiceButton=(Button)findViewById(R.id.stopService);stopServiceButton.setOnClickListener(new StopServiceListener());}//监听类class StartServiceListener implements OnClickListener{@Overridepublic void onClick(View v) {//创建intent,,并为它指定当前的应用程序上下文以及要启动的serviceIntent intent=new Intent();intent.setClass(MainActivity.this,FirstService.class);//传递一个intent对象startService(intent);}}class StopServiceListener implements OnClickListener{@Overridepublic void onClick(View v) {// TODO Auto-generated method stubIntent intent=new Intent();intent.setClass(MainActivity.this,FirstService.class);stopService(intent);}} }

在AndroidManifest.xml中注册service:

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

一个今天胜过两个明天

lilu920923的专栏

相关文章:

你感兴趣的文章:

标签云: