service服务程序

来源:互联网 发布:北京知豆商标代理 编辑:程序博客网 时间:2024/05/14 08:59

  service是运行在后台的服务程序,地位和activity是并列的,不提供可视化界面和用户进行交互。

  一、启动服务程序:

 1、Intent  serviceIntent = new Intent();

      //设置Intent的action属性

     serviceIntent.setAction(com.dannyAndroid.service.action.MUSIC_SERVICE);

  //启动service

  startService(serviceIntent);

 2、通过bindService绑定Service

  //ServiceConnection参数

  ServiceConnection conn = new ServiceConnection(){

   //重写链接和断开回调函数

……

  }

    //第一参数:Intent对象,第二参数:判断service绑定和断开是否成功,第三参数:设置绑定动作的选项,一般设置为BIND_AUTO_CREATE表示绑定是自动创建Service

   Intent  serviceIntent = new Intent();

  bindService(serviceIntent,conn,Service.BIND_AUTO_CREATE);

————————————————注意————————————

需要再AndroidManifest.xml文件中声明service的标签

<service android:enabled="true"  android:name=".MusicService"></service>

二、service的生命周期

1、通过startService()方法启动的service

onCreate--onStart--onDestroy

必须显式调用Context.stopService()来结束service

2、通过bindService()绑定Service

onCreate--onBind--onUnbind--onDestroy

不需要显式调用Context.stopService()来结束service,系统会自动调用

——————————注意——————————

上面两种生命周期是可以结合在一起的,可以先启动再绑定,但无论对同个service进行多少次启动或绑定,onCreate方法只会执行一次。如果Service已经被绑定,则显式调用stopService将不能停止该service,必须先执行UnbindService方法,才能同个stopService方法停止并关闭service。

0 0
原创粉丝点击