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里的方法了。
在配置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里的方法了。
相关文章推荐
- Android四大组件:Activity、Service、Broadcast Receiver、Content Provider
- Android核心基础-11.Android四大组件之Service
- Android深入四大组件(三)Service的绑定过程
- Android四大核心组件之Service
- Android四大组件之Service--前台服务
- Android开发四大组件之Service(详解篇)
- Android四大组件之一Service的用法
- Android四大组件学习之Service
- 【Android】四大组件(3)Service
- Android四大组件之Service服务学习笔记(一)
- Android 四大组件之Service 生命周期
- Android四大组件之服务-Service 原理和应用开发详解
- Android四大组件之一:Service
- 关于Android中的四大组件(Service的开启与关闭)
- Android - day four 四大组件之 Service
- Android 四大组件之service
- 深入剖析Android四大组件(二)——Service服务之启动与绑定
- Android进阶#(1/12)Android的构成基石——四大组件_Service与AIDL
- Android 四大组件之一Service
- android四大组件之service