浅析 - 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
  • 下载

Android -- service两种启动方式startService与bindService

继上一篇文章,Android – Service的使用,我们来继续看看Service的两种启动方式第一种startService。 运行代码,得知以下几点结论: 我们了解它的启动周期为onCreat...

Android Service两种启动方式

1.Context.startService()方式启动  ①Context.startService()方式的生命周期: 启动时,startService –> onCreate() –> onS...

使用AIDL方式启动Service 实现跨进程通信

使用AIDL方式启动Service实现跨进程音乐播放

service 的两种启动方式:

文章参考 : http://android.tgbus.com/Android/tutorial/201104/347990.shtml   1:startService Service的...

Android Service的两种启动方式

Android中有一个经常使用到的组件,叫Service,它有这么几个特点: 它无法与用户直接进行交互; 它必须由用户或者其他程序显式的启动; 它的优先级比较高,它比处于前台的应用优先级低,但是比后...

Android Service的两种启动方式,你知道吗?

这篇文章我是看到一些前辈的知识整理的,在此shegnming
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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