深入浅出 Android核心组件Service(2)

移动开发 Android
本文为51CTO专栏作者傻蛋做的Android Service系列文章的第二篇,通过绑定的方式来启动Service。

第二种是通过绑定的方式来启动Service。先看流程图。

 

点击查看大图

绑定的方式和***节的方式***的不同就是在于,Activity可以和Service实现关联,当被关联的Activity结束后,相应的Service 也会停止,同时在绑定了的Activity中我们还可以回调我们在Service中定义的方法。在这里我们使用了 this.bindService(intent, myServiceConnection, Context.BIND_AUTO_CREATE); 来启动Service,当Service创建了同时绑定了Activity之后,会回调我们定义的ServiceConnection(),从而传回IBinder接口,我们就能够调用Service中的方法了。这时候Activity就和 Service实现了绑定,Activity退出了Service就相应的退出了。Service的申明如下,intent filter 是对接收Service的过滤。

  1. <service android:enabled="true" android:name=".service.mediaplayer.BindMusicService"
  2. <intent-filter> 
  3. <action android:name="com.androidtest.service.mediaplayer.BindMusicService" /> 
  4. </intent-filter> 
  5. </service>  

本节的源代码可以在此下载: http://down.51cto.com/data/326385

责任编辑:佚名 来源: 最牛网
相关推荐

2012-02-07 14:37:01

Android核心组件Service

2012-02-07 15:09:03

Android核心组件Service

2012-02-07 15:16:01

Android核心组件Service

2012-02-07 15:29:17

Android核心组件Service

2012-02-21 13:55:45

JavaScript

2021-03-16 08:54:35

AQSAbstractQueJava

2011-07-04 10:39:57

Web

2010-07-26 13:55:10

OPhone游戏开发

2013-11-14 15:53:53

AndroidAudioAudioFlinge

2011-05-05 14:44:43

SurfaceFlinSurfaceActivity

2022-05-06 07:19:11

DOMDiff算法

2019-01-07 15:29:07

HadoopYarn架构调度器

2021-07-20 15:20:02

FlatBuffers阿里云Java

2017-07-02 18:04:53

块加密算法AES算法

2012-05-21 10:06:26

FrameworkCocoa

2022-09-26 09:01:15

语言数据JavaScript

2022-01-13 09:38:25

Android架构设计

2019-11-11 14:51:19

Java数据结构Properties

2009-11-30 16:46:29

学习Linux

2019-12-04 10:13:58

Kubernetes存储Docker
点赞
收藏

51CTO技术栈公众号