Service的使用

使用Service服务需要在Manifest.xml文件中声明

<service android:name = "com.himanmin.xu.servicedemo.TimeService">
            <intent-filter>
                <action android:name="action"/>
            </intent-filter>
        </service>

在启用service时,根据Service是否需要需要与其他进程进行数据交互,启用方式不同。前者只需service在后台运行,后者可能需要得到service的数据反馈。

无数据交互的service,可以通过startService(intent)和stopService(intent)启动和关闭,而intent则通过

intent.setAction("action"),action需与Manifest.xml文件中的声明一致。

这种情况下service的生命周期为:

onCreate()->onStartCommand()->onDestroy()

需要数据交互的service,需要将service与反馈对象进行绑定。常见的,主进程开启一个service服务,然后将结果返回到主进程所在的Activity中。绑定和解除绑定分别使用bindService()和unBindService(),其中bindService()会绑定service或启动相应的service并绑定,目标service通过设置intent确定。在service类中,复写onBind()方法,并返回自定义的IBinder实例,该实例一般含有返回service实例的方法。在主进程的activity中,则需要创建ServiceConnection对象,获取返回的IBinder实例,并进而获取service,进行service自定义功能的数据操作。

这个过程的生命周期

onCerate()未创建->onBind()->onUnBind()->onDestroy()

转载于:https://www.cnblogs.com/himanxu/p/4640985.html

Service的使用相关推荐

  1. struts2 与 sping 整合 控制器中 service注入的问题

    以个人见解认为struts1 与spring整合的时候按照习惯,我们会把 action 控制器直接配置到sping中去: eg : 这里以使用元注解方式实现Service注入进行讲解: 控制器关键代码 ...

  2. java action dao_java中Action层、Service层和Dao层的功能区分

    一.Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. DA ...

  3. Android中Service生命周期、启动、绑定、混合使用

    一.Activity和Service如何绑定: 1.Service和Activity之间的连接可以用ServiceConnection来实现.实现一个ServiceConnection对象实例,重写o ...

  4. CentOS7下启动Nginx出现Failed to start nginx.service:unit not found

    错误的原因就是没有添加nginx服务,所以启动失败. 解决方法: 1.    在/root/etc/init.d/目录下新建文件,文件名为nginx 或者用命令在根目录下执行:# vim /etc/i ...

  5. CentOS7 service network start命令启动时报错解决方法

    service network start命令启动时报错: [root@localhost network-scripts]# service network start Starting netwo ...

  6. android Service 的使用

    1 Service 简介 Service 是Android 四大组件之一 一般在后台运行,无用户界面,用户无法看到. Service主要用于组件之间交互(例如:与Activity.ContentPro ...

  7. Web Service 安全性解决方案(SOAP篇)

    拼吾爱程序人生 » 软件编程 » Visual Studio.NET » Web Service » Web Service 安全性解决方案(SOAP篇) Web Service 安全性解决方案(SO ...

  8. Hibernate **关于hibernate4.3版本之后org.hibernate.service.ServiceRegistryBuilder被弃用**

    之前一直都是使用hibernate4.2.21的我,有一天突然没有使用本地的jar包而是让IDEA自动下载最新版本的hibernate5.2.2之后,发现有几个经常使用的方法报错了. //创建配置对象 ...

  9. [转]JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分

    首先这是现在最基本的分层方式,结合了SSH架构.modle层就是对应的数据库表的实体类.Dao层是使用了Hibernate连接数据库.操作数据库(增删改查).Service层:引用对应的Dao数据库操 ...

  10. k8s nodeport无法访问_k8s学习之service详解

    1.概述 通过Deployment来创建一组Pod来提供具有高可用性的服务.每个Pod都会分配一个单独的Pod IP,却存在如下两问题: 1.pod ip仅仅集群内部可见的虚拟IP,外部无法访问 2. ...

最新文章

  1. php日志接入rsyslog,rsyslog和在PHP上的应用
  2. 算法------四数相加 II (java 版本)
  3. java - 把日志生成到指定目录
  4. Kanboard简单的可视化任务板,项目管理
  5. HH SaaS电商系统的仓储系统设计
  6. codeforces 701 E. Connecting Universities(树+ 边的贡献)
  7. vagrant使用centos的环境安装..
  8. iptables详解和练习
  9. 16款测序平台性能大PK,华大表现不俗!基于人类和细菌基因组DNA水平的多平台测序数据研究成果发布...
  10. 吴恩达《机器学习》第十五章:异常检测
  11. 系统类扩展方法,实现对所有类或某种类扩展自定义方法
  12. iOS-国家代码选择功能github开源分享
  13. SUID、SGID、粘滞位
  14. 孟子模型 | 当Bert炼丹不是玄学而是哲学
  15. 黑马程序员JVM完整教程
  16. 不知道CAD坐标系,如何做到CAD与卫星影像无偏叠加?
  17. 今天准备出发去珠海横琴,去长隆海洋乐园看鲨鱼宝宝了
  18. Java方法:方法解释,方法的定义及调用
  19. 电竞网咖用2.5G网卡,体验飞一般的感觉!
  20. LabVIEW图形化TensoRT工具包的安装下载分享

热门文章

  1. 使用vue-cli3创建项目的时候出错,ERROR command failed: npm install --loglevel error --registry
  2. 为什么JavaScript中给变量赋值会影响到其他地方?
  3. IO多路复用之select、poll、epoll介绍
  4. sklearn svm 调参_用 Grid Search 对 SVM 进行调参
  5. mysql 流浪,流浪汉机器 – 如何找出mysql用户名/密码
  6. file* linux,Linux基础——file命令与magic file
  7. 内核aio_IO模型_NIO_AIO
  8. zookeeper分布式安装与配置
  9. python保留字符串之外的_Python--字符串
  10. 德国Java工程师_1886年,德国工程师。