您的位置:首页 > 移动开发 > Android开发

Android四大组件之Service

2014-01-23 16:06 731 查看
Service  后台 在android中与Activity最为相似的界面,他没有用户界面,开启后一直在后面运行。其步骤与Activity的相同,创建Service子类,在manifest.xml配置注册信息以及<intent-filter/>(指定可以被哪些Intent启动)。

在配置Service信息时需要加上

   <intent-filter  

    <action........./>

   ...../>

表明这个Service可以被哪些intent启动,而在启动Service时也要给intent加上动作(setAction);

问题:如果不配置intent-filer会怎样?

若没有setAction则service不能被启动,无intent-filter结果一样。

 启动 终止Service 用startService(intent)与stopService(intent);  可以调用Service来处理一些固定或比较耗时的动作

绑定、解绑本地service 主要有bindService和unbindService 以此来绑定 解绑Service  可以用来调用Service里的方法。

bindService(Intent service,Serviceconnection conn,int flags);

第一个参数:通过intent指定要启动的service;

第二个参数: 是ServiceConnection对象,该对象用于监听访问者与service的连接情况;当访问者与Service之间连接成功时调用ServiceConnection对象的onServiceConnected(ComponentName name,IBinder service);连接失败时调用ondisServiceConnected方法。

第三个参数:绑定时是否自动创建Service(未创建时);0 为不自动创建 BIND_AUTO_CREATE为自动创建。

绑定Service方法:

①,Service界面

   private MyBinder binder = new MyBinder();

  class MyBinder extends Binder {

  }

 @Override

  public IBinder onBind(Intent arg0) {

  // TODO Auto-generated method stub

  return binder;

 }

②在Activity界面

FirstService.MyBinder binder;//FirstService是Service的名称

然后在绑定的时候先创建ServiceConnection对象,绑定的时候就调用bindService方法。

绑定Service后就可以调用Service里的方法了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: