范文无忧网范文学习范文大全

Android中怎么启动关闭Service及功能解释

01月01日 编辑 fanwen51.com

[谁给解释解释什么是破产保护]破产保护英文:bankruptcy protection美国《破产法》管辖着公司如何停止经营或如何走出债务深渊的行为。当一个公司临近山穷水尽之境地时,可以援引《破产法》第十一章来“重组...+阅读

启动: //首先注册服务 android:name="com.wangdeyu.service.MusicService" android:exported="false" >//启动服务 Intent service=new Intent(" com.abc"); startService(service); //Service生命周期 ①onCreate() 创建Service ②onStart(Intent intent, int startId) 启动Service ③onDestroy() 销毁Service //关闭服务 stopService(service); Service的生命周期方法比Activity少一些,只有onCreate, onStart, onDestroy 我们有两种方式启动一个Service,他们对Service生命周期的影响是不一样的。

1 通过startService,就是上面这种 Service会经历 onCreate -->onStart stopService的时候直接onDestroy 如果是 调用者 直接退出而没有调用stopService的话,Service会一直在后台运行。 下次调用者再起来仍然可以stopService。 2 通过bindService Service只会运行onCreate, 这个时候 调用者和Service绑定在一起 调用者退出了,Srevice就会调用onUnbind-->onDestroyed 所谓绑定在一起就共存亡了。

注意:Service的onCreate的方法只会被调用一次, 就是你无论多少次的startService又 bindService,Service只被创建一次。 如果先是bind了,那么start的时候就直接运行Service的onStart方法, 如果先是start,那么bind的时候就直接运行onBind方法。如果你先bind上了,就stop不掉了, 只能先UnbindService, 再StopService,所以是先start还是先bind行为是有区别的。 Android中的服务和windows中的服务是类似的东西,服务一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序。

服务不能自己运行,需要通过调用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()方法.

延伸阅读:

含柱的成语10个带解释例句偷梁换柱 比喻暗中玩弄手法,以假代真,以劣代优。 一柱擎天 擎:托起。一根柱托住天。比喻人能担当天下重任。 中流砥柱 就象屹立在黄河急流中的砥柱山一样。比喻坚强独立的人能...

老师解释什么是社会精英小明说这不是人渣吗在社会精英,就必须具备社会责任感,当然,仅此,还是不够的。下面是余秋雨在一篇演讲中的摘要部分《社会精英的人文四维》:高贵与善、爱紧紧联系在一起当代的社会精英在人文选择上要表...

查找有关白领蓝领之类的词语有关解释蓝领和白领: 关于蓝领的概念没有仔细考察过,但是我们看了一些书,这个概念是在美国五十年代提出的,美国进入信息化时提出的。美国的社会统治阶层对蓝领是指从事体力劳动的,例如生...

怎样解释经济全球化的定义经济全球化是指世界经济活动超越国界,通过对外贸易、资本流动、技术转移、提供服务、相互依存、相互联系而形成的全球范围的有机经济整体。经济全球化是当代世界经济的重要特...

怎样用通俗的语言解释什么叫 REST以及什么是 RESTfulREST (REpresentation State Transfer) 描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之一...

名词解释护理文化护理程序健康教育1、1980年美国护理学会将护理定义为:“护理是诊断和处理人类对现存的或潜在的健康问题的反应。”从这一定义引申出:现代护理学是研究如何诊断和处理人类对存在的或潜在的健康...

real estate中的一些词语解释encumbrance: 法律上: 1. 财产留置权 2. 财产抵押权 3. 财产留置权 4. 财产留置权 5. *或坻押权 会计方面: 1. 保留数,保留支出数,财产留置权,约定付款数 easement 法律 1. 地役...

行车电脑显示SERVICE怎么消除一、解决方法:建议您与您当地的4S店联系,进行检测与维修。 二、原因分析 行车电脑显示的service due应该是保养到期的意思。 具体方法如下: 一、车主自行操作取消 根据车的品...

桑塔纳2000显示service怎么消除1、首先在上汽大众桑塔纳2000汽车熄火的状态下,按住仪表盘上的保养灯复位按钮。 2、然后启动上汽大众桑塔纳2000汽车,松开保养灯复位按钮,这时上汽大众桑塔纳2000汽车的显示屏...

推荐阅读
图文推荐
栏目列表