与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 9041、下载Cygwin,只安装Devel 安 ... -
【8.3】关于simpleAdapter没法显示bitmap的问题
2011-08-03 14:24 1677这个问题很棘手,打log明明都找了视频缩略图bitmap的路径 ... -
【7.6】关于SurfaceView播放视频只有声音没有图像的问题
2011-07-06 16:44 4065关于这个问题,网上也有很多人问了这个问题,但只有自己碰到了才知 ... -
【7.5】MediaPlayer的生命周期
2011-07-05 10:32 1195详细见 http://hi.baidu.com/jugege/ ... -
【7.1】seekBar的使用心得
2011-07-01 14:34 1602seekBar即可拖动的进度条,可以作为播放器的进度条来使用, ... -
【6.29】android一些常用的调试方法
2011-06-29 15:42 12781、打log,按调试,查日志,最常用的方法 ... -
【6.29】Eclipse的一些快捷操作
2011-06-29 09:53 900Ctrl + F 搜索本页面 Ctrl + H ... -
【6.28】GestureDetector手势监听
2011-06-28 17:56 1472接口有两个,如下: public interfa ... -
【6.22】Handler、Looper、Thread之间的关系
2011-06-22 17:33 1519Looper负责管理消息队列,Handler负责发送处理消息 ... -
【6.21】startActivityForResult传递Intent数据
2011-06-21 15:47 1320接上,设置完之后要传回数据且立刻生效,则可以用startAct ... -
【6.21】PreferenceActivity来设置setting菜单
2011-06-21 11:02 1233Shared Preferences可以存储一些程序的参数设置 ... -
【6.14】自定义控件
2011-06-14 15:43 7591、在res/values文件下定义一个attrs.xml文件 ... -
【6.13】利用LayoutInflater实现Layout的切换
2011-06-13 17:52 966主要是利用LayoutInflater的inflate方 ... -
【6.13】Application的一点理解
2011-06-13 10:59 697从Manifest.xml中可以看出,Activity、Ser ... -
【6.9】Broadcast的一点理解
2011-06-09 20:28 720Broadcast发出广播 首先定义Intent,然后 ... -
【6.9】Activity和Task
2011-06-09 19:59 873Task,是一系列用栈的形式表示的Activity的组合。 ... -
【6.8】模拟home键的效果
2011-06-08 14:43 754事实上就是发出一个Intent到Intent.ACTION_M ... -
错误集合贴
2011-06-08 11:44 10631、一直提示Android Debug ‘source not ... -
【6.7】Activity的生命周期
2011-06-07 16:33 10381、为何需要生命周期 手机需要随时切换到接听手机、闹钟 ... -
【6.3】R.java的一点理解
2011-06-03 20:10 723R.java类似于一个资源索引,每个ID本质上只是一个int, ...
相关推荐
前言 VDA Volume 6.8 is an international quality standard for minimizing risks in the overall supply chain. Its purpose is the ...VDA 6.8 fills in the gap left by the omission of the service questio
KEPServerEXV6.8
**IDA 6.8:强大的反汇编器与调试器** IDA(Interactive Disassembler Pro)是一款广泛应用于逆向工程的工具,它以其强大的反汇编能力、图形化界面和高级调试功能闻名于世。IDA 6.8是该系列的一个重要版本,它在6.x...
分析动易CMS6.8的源码可以帮助开发者深入理解其架构和设计模式,学习如何构建高效、可扩展的CMS系统。源码中可能包含系统核心类库、数据库访问层、业务逻辑层、视图层等多个部分,每个部分都有其特定的职责和设计...
由于是VIP会员专享,可能还附带了一些教程、插件或者其他附加资源,帮助用户更好地理解和使用这个工具。 对于初学者来说,使用Cheat Engine需要了解一些基本概念,如内存地址、数据类型和扫描类型。内存扫描是CE的...
极品五笔_6.8极品五笔_6.8极品五笔_6.8
redhat Linux 6.8 64位操作系统 测试有用 redhat Linux 6.8 64位操作系统 测试有用
这个“VxWorks 6.8帮助文档”包含了关于该系统全面的信息,旨在帮助开发者理解和掌握VxWorks 6.8的各个层面。在压缩包中的“docs”文件夹很可能是包含了一系列的PDF文档,涵盖了从系统安装、配置到编程接口、设备...
CentOS6.8-64-百度云盘链接
Centos 6.8安装RabbitMQ ,自己理解的,希望能够帮助大家。
Elasticsearch是一个强大的开源搜索引擎,基于Apache Lucene构建,它为开发者和数据分析师提供了高效、可扩展、实时的搜索和分析功能。...通过深入理解和充分利用其特性,我们可以构建高效、可靠的数据解决方案。
这些笔记可以链接到相应的文献,形成一个完整的信息库,有助于深入理解和分析文献内容。 4. **引用管理**:Citavi内置了丰富的引用样式,如APA、MLA、Chicago等,用户可以轻松地按照所需格式插入引用和参考文献。...
易语言超级模块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...
VxWorks 6.8是Wind River Systems公司开发的一款实时操作系统(RTOS),广泛应用于嵌入式系统中。VMware BSP(Board Support Package)是针对特定硬件平台的软件组件集合,它使得VxWorks能够在虚拟化环境中如VMware...
西瓜书6.8代码.zip
DBC2000-v6.8 是一个专用于数据库管理和转换工具,它的主要功能是将数据库中的数据导出为Excel格式,便于用户进行数据分析、报表制作或者与其他应用程序的数据交换。这款软件尤其适合那些需要频繁从数据库提取数据并...
《Windows环境下Gradle 6.8的安装与使用详解》 Gradle,作为一个强大的构建自动化工具,被广泛应用于Java、Android以及其他多种语言的项目中。本文将详细介绍如何在Windows操作系统上安装并使用最新版的Gradle 6.8...
解码器的主要工作是将DivX编码的数据转换成计算机可以理解的原始视频信号,这样显示设备就能正确显示视频内容。 视频解码器的重要性在于其兼容性和效率。一个优秀的解码器应该能够处理多种编码格式,同时保证解码...