四组件之Service
来源:互联网 发布:奇葩室友 知乎 编辑:程序博客网 时间:2024/06/10 04:22
what
后台服务,可以理解为后台进程
how and about
理解两种方式的生命周期
startService
stopService
selfStop
bindService
unbindService
IBinder
ServiceConnection:bindService时的activity设置相应的回调接口
例:
bindService(new Intent(Binding.this, LocalService.class), mConnection, Context.BIND_AUTO_CREATE);
第三个参数通常是Context.BIND_AUTO_CREATE,表示service若未启动则自动创建
startForeground设置前台服务(添加了一个notification,旧版本方法是setForeground)
manifest.xml中设定isolatedProcess=true,service作为独立进程工作
onStartCommand的返回值:
START_STICKY:如果service进程被kill掉,保留service的状态为开始状态,但不保留递送的intent对象。随后系统会尝试重新创建service,由于服务状态为开始状态,所以创建服务后一定会调用onStartCommand(Intent,int,int)方法。如果在此期间没有任何启动命令被传递到service,那么参数Intent将为null。
START_NOT_STICKY:“非粘性的”。使用这个返回值时,如果在执行完onStartCommand后,服务被异常kill掉,系统不会自动重启该服务。
START_REDELIVER_INTENT:重传Intent。使用这个返回值时,如果在执行完onStartCommand后,服务被异常kill掉,系统会自动重启该服务,并将Intent的值传入。
START_STICKY_COMPATIBILITY:START_STICKY的兼容版本,但不保证服务被kill后一定能重启。
START_STICKY:如果service进程被kill掉,保留service的状态为开始状态,但不保留递送的intent对象。随后系统会尝试重新创建service,由于服务状态为开始状态,所以创建服务后一定会调用onStartCommand(Intent,int,int)方法。如果在此期间没有任何启动命令被传递到service,那么参数Intent将为null。
START_NOT_STICKY:“非粘性的”。使用这个返回值时,如果在执行完onStartCommand后,服务被异常kill掉,系统不会自动重启该服务。
START_REDELIVER_INTENT:重传Intent。使用这个返回值时,如果在执行完onStartCommand后,服务被异常kill掉,系统会自动重启该服务,并将Intent的值传入。
START_STICKY_COMPATIBILITY:START_STICKY的兼容版本,但不保证服务被kill后一定能重启。
0 0
- 四组件之Service
- Android 四大组件学习之Service四
- 四大组件之(四)-->Service服务
- Android四组件之Service&Demo
- 四大组件之Service(四)-Service的线程、工作线程、权限及系统Service
- Android四大组件(四) Service
- android组件之Service
- 四大组件之Service
- Android之Service组件
- 四大组件之Service
- 四大组件之Service
- Android组件之 Service
- Android组件之Service
- android组件之service
- Android组件之Service
- Android组件之Service
- 四大组件之Service
- 四大组件之Service
- IIS数据库连接出错的一些解决办法
- 关于网狐6603ewin版抽水问题
- 接水问题(这题可能有点水)
- maven常见问题问答
- 假如,青春是高效率的
- 四组件之Service
- const使用
- android中的提示类组件toast,dialog,notification,widget
- 星际交流(回溯)
- 摆动序列(DP)
- 网狐6603网站后台增加游戏只能写入11个字符不能正确填写
- android中的相关资源设置(XML)
- 传球游戏(DP)
- 只为你挥毫