浅析 - Service启动方式

原创 2016年08月28日 19:34:39

尊重每个人的付出,转载请点这里:http://blog.csdn.net/hanj456/article/details/52347317

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简单示例

版权声明:本文为博主原创文章,未经博主允许不得转载。

StartService方式启动Service

  • 2016年11月10日 16:00
  • 26.07MB
  • 下载

Android service start方式启动

  • 2014年05月19日 15:38
  • 2.08MB
  • 下载

Dubbo Main启动方式浅析

服务容器是一个standalone的启动程序,因为后台服务不需要Tomcat或JBoss等Web容器的功能,如果硬要用Web容器去加载服务提供方,增加复杂性,也浪费资源。 服务容器只是一个简单的Ma...
  • okkeqin
  • okkeqin
  • 2017年03月15日 14:00
  • 477

android service的2种启动方式

  • 2016年02月04日 12:29
  • 630KB
  • 下载

Dubbo Main启动方式浅析

服务容器是一个standalone的启动程序,因为后台服务不需要Tomcat或JBoss等Web容器的功能,如果硬要用Web容器去加载服务提供方,增加复杂性,也浪费资源。 服务容器只是一个简单的Mai...

Dubbo Main启动方式浅析

服务容器是一个standalone的启动程序,因为后台服务不需要Tomcat或JBoss等Web容器的功能,如果硬要用Web容器去加载服务提供方,增加复杂性,也浪费资源。  服务容器只是一个简单的M...

【MongoDB】--dbpath的作用及如何以Windows Service的方式启动MongoDB

我把MongoDB下载安装完并配置好系统环境变量后便迫不及待的在命令行中输入mongo,然而却出现了下面的报错: 这不是mongodb无法启动,是你还没有启动mongodb就来连接使用它了,肯定...

Android Service 两种启动方式

1.Context.startService()方式启动  ①Context.startService()方式的生命周期: 启动时,startService –> onCreate() –> o...
  • jspping
  • jspping
  • 2014年11月05日 10:41
  • 849

Android Service两种启动方式

1.Context.startService()方式启动  ①Context.startService()方式的生命周期: 启动时,startService –> onCreate() –> onSt...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:浅析 - Service启动方式
举报原因:
原因补充:

(最多只允许输入30个字)