第5章 后台服务Service.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 后台服务Service

# Service简介 -2 Service特点: 没有用户界面,不与用户交互; 长时间运行,不占程序控制权; 比Activity的优先级高,不会轻易被Android系统终止,即使Service被系统终止,在系统资源恢复后Service仍将自动运行。 用于进程间通信(Inter Process Communication,IPC),解决两个不同进程之间的调用和通信问题。 Android提供一些特殊的Service类,如:AbstractInputMethodService、AccessibilityService、IntentService、RecognitionService以及WallpaperService。 以AccessibilityService类为例,当AccessibilityEvent事件(比如焦点变化、按钮被点击等)发生后,AccessibilityService会被自动调用。 实现Service 定义一个Service类比较简单,只要继承Service类,实现其生命周期中的方法就可以。 一个定义好的Service必须在AndroidManifest.xml配置文件中通过service元素声明才能使用。 实现Service应用的步骤如下: 创建一个Service类并配置; 启动或绑定Service; 停止Service。 创建Service类 创建一个Service类时,需要继承android.app.Service类,并且覆盖其onCreate()、onStart()以及onDestroy()等方法。 这些方法在Service生命周期中的不同阶段被调用: onCreate()方法用来初始化Service,标志Service生命周期开始; onStart()方法用来启动一个Service,代表Service进入了运行的状态; onDestroy()方法用来释放Service所占用的资源,标志Service生命周期结束。 启动和绑定Service Service类创建好之后,可以通过两种方式启动Service: 启动方式: 使用Context.startService()方法启动Service,调用者与Service之间没有关联,即使调用者退出,Service服务依然运行。 绑定方式: 通过Context.bindService()启动Service,调用者与Service之间绑定在一起,调用者一旦退出,Service服务也就终止。 启动方式 启动方式的Service生命周期: 绑定方式 绑定方式的生命周期 调用Context.bindService()绑定一个Service时需要三个参数: 第一个参数是Intent对象; 第二个参数是服务连接对象ServiceConnection,通过实现其onServiceConnected()和onServiceDisconnected()方法判断连接成功或断开连接; 第三个参数是创建Service的方式,一般指定绑定时自动创建,即设置为Service.BIND_AUTO_CREATE。 停止Service 当Service完成动作或处理后,应该调用相应的方法停止服务,释放服务所占用的资源。根据启动Service方式的不同,需采用不同的方法停止Service: 使用Context.startService()方法启动的Service,通过调用Context.stopService()或Service.stopSelf()方法结束。 使用Context.bindService()绑定的Service,通过调用Context.unbindservice()解除绑定。 与启动服务的过程类似,Context.stopService()、Context.unbindservice()只是停止过程中的开始部分,系统最终会调用onDestroy()销毁服务并释放资源。 注意 stopService()方法和stopSelf()方法不同,stopService()强行终止当前服务,而stopSelf()直到Intent被处理完才停止服务。 Android系统服务-1 Android提供大量的系统服务,这些系统服务用于完成不同的功能 Android系统服务 -2 系统服务可以通过Context.getSystemService()方法获取Android系统所支持的服务管理对象。 下面语句用于获取系统活动服务管理对象: Notification属性 第 5 章 后台服务Service 本章目标 了解Android Service工作机制及特点 了解Service和Activity的不同之处 掌握如何创建、启动和停止Service 熟悉Andr

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档