安卓服务(Service)的两种开启方式以及服务的生命周期

本文详细介绍了安卓中Service的两种启动方式——startService和bindService,包括它们的调用流程和特点。startService开启的服务与调用者无关,而bindService形成绑定关系,调用者结束时服务也会关闭。重点讨论了bindService的使用和实现示例。
摘要由CSDN通过智能技术生成

安卓中服务的开启方式

一:采用start的方式开启服务

调用函数:startService(Intent)->onCreate()->onStart()/onStartCommand()->onDestroy()
特点:服务被开启后不会重复开启,只会调用onStart(),服务只会被停止一次。
二:采用bind的方式开发服务
调用函数:bindService(Intent…)->onCreate()->onBind()->onUnBind()->onDestroy();
特点:绑定不会调用onStart()[过时了]和onStartCommand()方法。

两种服务的区别:
start方式开发服务,一旦服务开启跟调用者就没有任何关系了,比如我们的服务是在Activity中调用开启的,当Activity关闭的时候,服务不会关闭。
bind方式开启服务,调用者没了,服务也会关闭,可以理解为同生共死。

对于start开启服务的方式比较简单,重点讲解bind的方式!

例子:
1.布局里面设置三个按钮
demo截图
2.为按钮设置监听事件,有好几种方式。
3.处理事件。当点击绑定的时候:

    /*绑定的创建方式
    */
    Intent intent = new Intent(this, MyService.class);
    bindService(intent, conn, BIND_AUTO_CREATE);

conn是自己实现的功能类,继承自ServiceConnection。
完整代码如下:

public class MainActivity extends ActionBarActivity {
   
    private MyConn conn;
    private Call c;
    @Override
    protected void 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值