onDestroy()
html
当服务再也不使用且将被销毁时,系统将调用此方法。服务应该实现此方法来清理全部资源,如线程、注册的侦听器、接收器等。 这是服务接收的最后一个调用。android
<service>
元素 请始终使用显式 Intent 启动或绑定 Service
,且不要为服务声明 Intent 过滤器。能够经过添加 android:exported
属性并将其设置为 "false"
,确保服务仅适用于您的应用。这能够有效阻止其余应用启动您的服务,即使在使用显式 Intent 时也如此。app
启动服务由另外一个组件经过调用 startService()
启动,这会致使调用服务的 onStartCommand()
方法。ide
服务启动以后,其生命周期即独立于启动它的组件,而且能够在后台无限期地运行,即便启动服务的组件已被销毁也不受影响。 所以,服务应经过调用stopSelf()
结束工做来自行中止运行,或者由另外一个组件经过调用 stopService()
来中止它。ui
应用组件(如 Activity)能够经过调用 startService()
方法并传递 Intent
对象(指定服务并包含待使用服务的全部数据)来启动服务。服务经过onStartCommand()
方法接收此 Intent
。google
这是 Service
的子类,它使用工做线程逐一处理全部启动请求。若是您不要求服务同时处理多个请求,这是最好的选择。 您只需实现 onHandleIntent()
方法便可,该方法会接收每一个启动请求的 Intent,使您可以执行后台工做。code