Android中的服务和windows中的服务是类似的东西,服务一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序。服务的开发比较简单,如下:
第一步:继承Service类
public class SMSService extends Service { }
第二步:在AndroidManifest.xml文件中的<application>节点里对服务进行配置:
<service android:name=".SMSService" />
服务不能自己运行,需要通过调用Context.startService()或Context.bindService()方法启动服务。这两个方法都可以启动Service,但是它们的使用场合有所不同。使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的特点。
如果打算采用Context.startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onStart()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,但会导致多次调用onStart()方法。采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。
如果打算采用Context.bindService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onBind()方法。这个时候调用者和服务绑定在一起,调用者退出了,系统就会先调用服务的onUnbind()方法,接着调用onDestroy()方法。如果调用bindService()方法前服务已经被绑定,多次调用bindService()方法并不会导致多次创建服务及绑定(也就是说onCreate()和onBind()方法并不会被多次调用)。如果调用者希望与正在绑定的服务解除绑定,可以调用unbindService()方法,调用该方法也会导致系统调用服务的onUnbind()-->onDestroy()方法。
分享到:
相关推荐
华为服务器引导镜像--FusionServer Tools-ServiceCD2.0-V131
PowerShell重启服务(Restart-Service),使用PowerShell可以很方便的操作Windows系统服务,比如实现自动重启服务。本文就介绍如何使用PowerShell来重启服务,以及一些相关的内容。PowerShell中重启服务的cmdlet是...
安卓操作系统(4.4 版或更高);Mopria Print Service 可提供“通用打印驱动程序”,将要打印的数据转换至打印机所需的适当文件类型。
华为-微服务服务中心-ServiceCenter-课程学习,整套技术文档,PDF
WinHTTP Web Proxy Auto-Discovery Service 服务处于 停止 状态还有,我的服务器没有使用WEB代理和防火墙客户端。
gateway-service作为服务网关工程,负责请求的转发,同时它也作为链路追踪客户端,负责产生数据,并上传给zipkin-service;user-service为一个应用服务,对外暴露API接口,同时它也作为链路追踪客户端,负责产生数据...
基于REST的Web服务客户端是一款功能强大的谷歌浏览器插件,使用基于REST的Web服务客户端(模拟REST客户端)可以让用户使用谷歌浏览器模拟REST请求来测试REST风格,这款插件使用非常方便,欢迎大家来下载使用!
出行即服务,绘制面向未来汽车行业新生态体系的成功之路。汽车行业正在加速向出行即服务转型。整车厂应如何充分利用这次转变带来的机会?基于对出行即服务的市场洞察,埃森哲为整车厂赢在这一新兴领域绘制了路线图。
官方https://start.spring.io/构建项目很容易超时,所以通过搭建本地服务,方便构建项目,解压后cd到解压目录,执行 java -jar springboot-initializr-service.jar --server.port=9081即可,端口可以随便改
deploy-cli-service前端一键自动化部署脚手架服务,支持开发,测试,生产多环境配置。配置好后一键即可自动完成部署。的github npm 更新日志1安装总体安装deploy-cli-service npm install deploy-cli-service -g本地...
government-service-design-manual, 政府服务设计手册
微博服务化的新姿势--service mesh实践
1-SpringCloudDemo-service-provider(服务提供Test1) 1-SpringCloudDemo-ServiceConsumers-Feign(服务消费者-feign) 1-SpringCloudDemo-ServiceConsumers-Ribbon(服务消费者-ribbon) 1-SpringCloudDemo-...
面向服务的计算 Service-Oriented Computing 麻省理工学院2009最新出版,1 Overview of Service-Oriented Computing 1 Dimitrios Georgakopoulos and Michael P. Papazoglou 2 Conceptual Modeling of Service-...
serviceworker-webpack-plugin, 简化服务工作者的创建以服务 web pack分发包 serviceworker-webpack-plugin简化服务工作者的创建以服务 web pack分发包。 安装npm install serviceworker-webpack-plugin问题解
vscode-ng-language-service, Angular 语言服务的vs 代码插件 Angular 语言服务的 vs-代码插件这个 vs 代码插件为 Angular 提供 Angular 语言服务。这个插件将在模板文件和模板字符串以及模板和 Angular 注释的诊断...
Laravel开发-laravel-service-layer Laravel应用程序的轻量级服务层!
Laravel开发-jg-service-for-laravel 交管服务平台信息查询接口封装,包括违规信息、照查分,此为Laravel扩展包。
Laravel开发-lara-service 积垢服务层
gs-rest-service, 构建 RESTful Web服务 标记项目的实验剩余弹簧框架使用-> http://beta.codenvy.com/f?id=9fq0busbm3tz7i8c 你的浏览器的代码 inside 。目录你将构建什么。你