与Activity不同,Service 自启动,运行在后台,不能与用户交互,退出应用时,Service还能运行。如MP3播放
Service的生命周期:onCreate -> onStart -> onDestroy (其中Service在onDestroy之前,onCreate只执行一次,onStart可以执行多次)
步骤:
1)创建一个Service类继承自Service,其中有onCreate(),onStart(Intent intent, int startId),onDestroy(),onBind()四个方法可以重写,其中onBind()一定要重写
2)在AndroidManifest.xml中注册Service,其中android:name要和创建的Service完全一致
3)开始服务:startService(intent);结束服务:stopService(intent)
绑定Service和Activity
假如没有结束服务的话,Service会一直运行直至关机,所以绑定可以使Activity在onStop时同时销毁Service
绑定的Service的生命周期:onCreate -> onBind -> onUnbind -> ondestroy
在MyService类中定义了一个MyBinder类,该类实际上是为了获得MyService的对象实例的。在ServiceConnection接口onServiceConnected方法中的第2个参数是一个IBinder类型的变量,将该参数转换成MyService.MyBinder对象,并使用MyBinder类中的getService方法获得MyService对象。在获得MyService对象后,就可以在Activity中随意操作MyService类了
注意事项
1)两者请不要混用,否则容易出现Service没被Destroy的情况。
如startService后再bindService,此时退出Activity之后unbindService,不会destroy
2)确保有bindService就有unBindService(绑定的会在退出时自动unbind),有startService就有stopService
发表评论
-
ndk开发环境的搭建
2011-09-04 18:33 8941、下载Cygwin,只安装Devel 安 ... -
【8.3】关于simpleAdapter没法显示bitmap的问题
2011-08-03 14:24 1657这个问题很棘手,打log明明都找了视频缩略图bitmap的路径 ... -
【7.6】关于SurfaceView播放视频只有声音没有图像的问题
2011-07-06 16:44 4031关于这个问题,网上也有很多人问了这个问题,但只有自己碰到了才知 ... -
【7.5】MediaPlayer的生命周期
2011-07-05 10:32 1170详细见 http://hi.baidu.com/jugege/ ... -
【7.1】seekBar的使用心得
2011-07-01 14:34 1566seekBar即可拖动的进度条,可以作为播放器的进度条来使用, ... -
【6.29】android一些常用的调试方法
2011-06-29 15:42 12631、打log,按调试,查日志,最常用的方法 ... -
【6.29】Eclipse的一些快捷操作
2011-06-29 09:53 891Ctrl + F 搜索本页面 Ctrl + H ... -
【6.28】GestureDetector手势监听
2011-06-28 17:56 1461接口有两个,如下: public interfa ... -
【6.22】Handler、Looper、Thread之间的关系
2011-06-22 17:33 1496Looper负责管理消息队列,Handler负责发送处理消息 ... -
【6.21】startActivityForResult传递Intent数据
2011-06-21 15:47 1298接上,设置完之后要传回数据且立刻生效,则可以用startAct ... -
【6.21】PreferenceActivity来设置setting菜单
2011-06-21 11:02 1199Shared Preferences可以存储一些程序的参数设置 ... -
【6.14】自定义控件
2011-06-14 15:43 7431、在res/values文件下定义一个attrs.xml文件 ... -
【6.13】利用LayoutInflater实现Layout的切换
2011-06-13 17:52 943主要是利用LayoutInflater的inflate方 ... -
【6.13】Application的一点理解
2011-06-13 10:59 682从Manifest.xml中可以看出,Activity、Ser ... -
【6.9】Broadcast的一点理解
2011-06-09 20:28 705Broadcast发出广播 首先定义Intent,然后 ... -
【6.9】Activity和Task
2011-06-09 19:59 863Task,是一系列用栈的形式表示的Activity的组合。 ... -
【6.8】模拟home键的效果
2011-06-08 14:43 741事实上就是发出一个Intent到Intent.ACTION_M ... -
错误集合贴
2011-06-08 11:44 10501、一直提示Android Debug ‘source not ... -
【6.7】Activity的生命周期
2011-06-07 16:33 10151、为何需要生命周期 手机需要随时切换到接听手机、闹钟 ... -
【6.3】R.java的一点理解
2011-06-03 20:10 707R.java类似于一个资源索引,每个ID本质上只是一个int, ...
相关推荐
KEPServerEXV6.8
**IDA 6.8:强大的反汇编器与调试器** IDA(Interactive Disassembler Pro)是一款广泛应用于逆向工程的工具,它以其强大的反汇编能力、图形化界面和高级调试功能闻名于世。IDA 6.8是该系列的一个重要版本,它在6.x...
由于是VIP会员专享,可能还附带了一些教程、插件或者其他附加资源,帮助用户更好地理解和使用这个工具。 对于初学者来说,使用Cheat Engine需要了解一些基本概念,如内存地址、数据类型和扫描类型。内存扫描是CE的...
极品五笔_6.8极品五笔_6.8极品五笔_6.8
分析动易CMS6.8的源码可以帮助开发者深入理解其架构和设计模式,学习如何构建高效、可扩展的CMS系统。源码中可能包含系统核心类库、数据库访问层、业务逻辑层、视图层等多个部分,每个部分都有其特定的职责和设计...
redhat Linux 6.8 64位操作系统 测试有用 redhat Linux 6.8 64位操作系统 测试有用
CentOS6.8-64-百度云盘链接
这个“VxWorks 6.8帮助文档”包含了关于该系统全面的信息,旨在帮助开发者理解和掌握VxWorks 6.8的各个层面。在压缩包中的“docs”文件夹很可能是包含了一系列的PDF文档,涵盖了从系统安装、配置到编程接口、设备...
Centos 6.8安装RabbitMQ ,自己理解的,希望能够帮助大家。
Elasticsearch是一个强大的开源搜索引擎,基于Apache Lucene构建,它为开发者和数据分析师提供了高效、可扩展、实时的搜索和分析功能。...通过深入理解和充分利用其特性,我们可以构建高效、可靠的数据解决方案。
这些笔记可以链接到相应的文献,形成一个完整的信息库,有助于深入理解和分析文献内容。 4. **引用管理**:Citavi内置了丰富的引用样式,如APA、MLA、Chicago等,用户可以轻松地按照所需格式插入引用和参考文献。...
VxWorks 6.8是Wind River Systems公司开发的一款实时操作系统(RTOS),广泛应用于嵌入式系统中。VMware BSP(Board Support Package)是针对特定硬件平台的软件组件集合,它使得VxWorks能够在虚拟化环境中如VMware...
西瓜书6.8代码.zip
IDA sdk 6.8版本,方便大家使用
《Gradle 6.8:Android开发中的构建神器》 Gradle是一款强大的自动化构建工具,尤其在Android开发中,它的身影无处不在。Gradle以其灵活性、可扩展性和高效的构建性能,深受开发者喜爱。当我们谈论“gradle-6.8-all...
包含VxWork6.8 + WorkBench3.2 +FTP的VxWorks安装方法,除了文档以外包含文档中所述的一切相关文件,除了WorkBench安装所需iso文件,包括DDS622.img,BSP需要修改和添加的文件以及无需编译的完成版bootrom与VxWorks...
《Windows环境下Gradle 6.8的安装与使用详解》 Gradle,作为一个强大的构建自动化工具,被广泛应用于Java、Android以及其他多种语言的项目中。本文将详细介绍如何在Windows操作系统上安装并使用最新版的Gradle 6.8...
解码器的主要工作是将DivX编码的数据转换成计算机可以理解的原始视频信号,这样显示设备就能正确显示视频内容。 视频解码器的重要性在于其兼容性和效率。一个优秀的解码器应该能够处理多种编码格式,同时保证解码...
### CentOS 6.8 搭建 LAMP 环境及配置 #### 一、简介 LAMP 是一个开放源代码的Web平台,由 Linux、Apache、MySQL 和 PHP 四个部分组成,广泛用于互联网应用程序开发。本文将详细介绍如何在 CentOS 6.8 系统上搭建 ...
Reflector 6.8.2.5,最后的免费版本,不强制升级