浅析 - Service启动方式
2016-08-28 19:34
295 查看
尊重每个人的付出,转载请点这里:http://blog.csdn.net/hanj456/article/details/52347317
使用示例:
startService
bindService
注意:如果activity和service在同一个进程中直接绑定即可,如果是在不同进程中Android 5.0以后除了指定action外还需要指定service的包名;
同一进程中:
不同进程中:
aidl简单示例
Sevice两种启动方式
要点:Service启动主要有两种方式:1.通过context.startService(intent); 2.通过context.bindService(intent,conn,flag); 理解这两者的区别打个比喻就很容易明白: 通过方式1启动service就好比一个同学第一个去教室打开点灯开始自习,然后其他同学陆续进来了,别人不会去关心是谁打开的电灯,晚上自习结束的时候一般最后一个人去关电灯,但这个人是不固定的,也许是第一个打开电灯的同学,也可能是其他人。startService的对象和service之间是没有关联关系的,谁都可以startService,当然谁都可以关闭service; 通过方式2来启动service就好比你去租房子,一般会自己配一把新的门锁,代表你是这个房间的主人,装新锁的这个行为就具有关联性和排他性,就是说这把锁只有对应的钥匙才能打开,谁锁的门谁去开门。bindService 对象和service直接具有关联性,谁绑定的service谁去解绑service。
使用示例:
startService
Intent intent = new Intent(this,MyService.class); context.startService(intent);
bindService
注意:如果activity和service在同一个进程中直接绑定即可,如果是在不同进程中Android 5.0以后除了指定action外还需要指定service的包名;
同一进程中:
Intent intent = new Intent(this,MyService.class); intent.bindService(intent,conn,Context.BIND_AUTO_CREATE);
不同进程中:
Intent intent = new Intent(); intent.setAction("com.test.intent.action"); intent.setPakage("com.test.aidlService"); context.bindService(intent,conn,Context.BIND_AUTO_CREATE);
aidl简单示例
相关文章推荐
- Android Service 浅析(生命周期,启动方式,前台Service)
- 对Windows Service(服务)的启动类型进行操作的几种方式
- Android开发学习笔记:Service的简介和启动方式
- Linux下将普通软件启动方式做成service方式
- android中广播的两种启动方式浅析【自定义Action】
- service 两种启动方式的区别
- Windows Service开发日志四(用程序设置服务的运行状态及启动方式)
- android Service(二) activity启动Service方式二:bindService()
- Android之Service学习篇一:Service启动方式之startService
- Android Service 两种启动方式的区别
- Android Service学习(1)——Service启动方式之startService
- service 的两种启动方式:
- Service的两种启动方式
- IIS Admin Service 无法启动 ,错误代码-2145318902解决方式
- Android之Service学习篇二:Service启动方式之boundService
- 停止通过startService()方式启动的service的两种方法
- 用jboss native方式代替javaservice.exe来实现jboss在window中的服务自动启动
- 启动service的两种方式:startService与bindService的区别
- [service] service生命周期,启动方式,与intentService的比较
- android Service(一) activity启动Service方式一:startService()