`
ai_longyu
  • 浏览: 505637 次
社区版块
存档分类
最新评论

关于通过bindService启动的service,在unbindService后service是否继续运行的讨论

 
阅读更多

【讨论】通过bindService启动的service,在unbindService后service也结束了

20楼的回答非常清楚:

有三种情况:如果直接使用服务,则没有必要进行绑定,但是如果要使用服务里面的方法,则要进行绑定。具体的启动情况有下:

1.当启动时,单独调用bindService方法,在unbindService后,会执行service的onUnbind,在执行onDestroy方法。
2.当启动时,先调用startService,在调用bindService方法后,在unbindService后,会执行service的onUnbind,不会执行onDestroy方法。除非你在执行stopService.
3. 先调用startService,在调用stopService,会执行service的onDestroy方法。

分享到:
评论

相关推荐

    Service的使用方式02(bindService和unBindService)

    Service是Android四大组件之一,它可以在后台运行,即使用户离开了应用程序,服务仍然可以继续执行。服务通常用于执行如播放音乐、定时任务、网络通信等长时间运行的操作。 二、bindService介绍 `bindService`方法...

    BindService绑定Service播放音乐

    5. 当不再需要Service时,Activity通过`unbindService()`解除绑定,Service会在所有绑定者解绑后自动停止。 这个过程涉及到Android组件间通信、服务生命周期管理、MediaPlayer的使用以及广播接收器的注册与接收,...

    音乐播放器bindservice和startService

    本篇文章将详细讲解如何利用`bindService`和`startService`来实现音乐播放功能,这两种服务启动方式在音乐播放器中的应用场景及优缺点。 首先,我们了解`Service`在Android系统中的作用。`Service`是一种后台运行的...

    BindService

    Service可以在启动(startService)或绑定(bindService)两种模式下运行。启动Service时,服务会在后台持续运行,直到调用`stopService`或`stopSelf`。而绑定Service则主要用于那些需要与Service进行频繁交互的应用...

    Intent启动service的示例代码

    以上就是关于Intent启动Service的基本知识,包括`startService()`, `stopService()`, `bindService()`和`unbindService()`的用法。在深入学习时,还要注意Service的生命周期管理、Service的异步处理以及如何处理...

    bindService

    Service会在所有连接断开后自动停止,或者根据其配置在后台继续运行。 值得注意的是,`startService`和`bindService`虽然都用于启动Service,但它们有本质区别。`startService`主要是启动Service并执行一次性任务,...

    Android 启动 Service(startservice和bindservice) 两种方式的区别

    这意味着,即使启动Service的组件已经销毁,Service仍会继续运行,直到调用`stopService()`或Service自身调用`stopSelf()`或`stopSelfResult()`来停止服务。Service在停止时会调用`onDestroy()`方法。 2. **...

    StartService和BindService实现播放音乐的样例

    `StartService`用于启动一个服务,当服务被启动后,它会在后台持续运行,直到服务自行停止或系统因资源紧张而终止服务。以下是如何使用`StartService`启动音乐播放服务的基本步骤: 1. **创建服务类**:首先,你...

    bindservice

    `bindService()`主要用于那些需要与服务进行交互并获取服务功能的场景,而不仅仅是启动服务后就让它独立运行。 标题“bindservice”指向的核心知识点是关于Android服务的绑定机制。描述中提到,多次调用`...

    既想service在后台运行又想要得到那个service对象进行别的操作怎么办

    ### 既想service在后台运行又...综上所述,通过合理地结合使用`startService()`和`bindService()`,可以在确保服务后台运行的同时,实现组件与服务之间的有效交互。这对于开发具有复杂逻辑的应用程序来说是非常有用的。

    bindService demo源码

    `bindService()`方法是Service与客户端(通常是Activity)进行交互的一种方式,它强调的是服务的生命周期与客户端的绑定关系,即服务只在客户端绑定时运行,客户端解绑后服务会自动停止。本Demo就是对`bindService()...

    Activity绑定Service(Kotlin)

    Service的生命周期与Activity不同,启动的Service在`onStartCommand()`返回后开始运行,直到调用`stopService()`或`stopSelf()`。绑定的Service在所有客户端解绑后自动停止。 11. **Service的生命周期管理** 注意...

    Service服务的各种使用方式

    对于通过`bindService()`启动的Service,需要在不再使用时调用`unbindService()`来解除绑定。 ```java unbindService(connection); ``` 五、Service的异步处理 5.1. IntentService IntentService是一个单线程的...

    Android停止Service的例程

    在Android应用开发中,Service是四大组件之一,用于在后台执行长时间运行的操作,即使用户离开了应用程序界面,Service依然可以运行。本教程将深入探讨如何正确地停止一个Android Service,同时结合源码分析其内部...

    BindService_Demo

    - **启动Service**:通过调用`startService()`方法,Service会在后台运行直到完成指定任务或被系统或应用本身停止。启动的Service可以独立于启动它的组件存在。 - **绑定Service**:使用`bindService()`方法,...

    Android学习之路——7.Service

    1. 启动Service:通过startService()方法启动Service,服务会持续运行直到stopSelf()或stopService()被调用。 2. 绑定Service:通过bindService()方法绑定Service,提供客户端和服务端的通信接口。绑定Service在...

    android service 简单实例源代码

    2. 使用`bindService()`绑定Service时,Service会在客户端绑定后启动,客户端解绑后停止。 3. 若要同时启动并绑定Service,可以先`startService()`,然后`bindService()`。 4. 当Service被绑定且有客户端连接时,`...

Global site tag (gtag.js) - Google Analytics