android服务

普通开启

             <!--配置服务   -->

            <service android:name="com.itheima.service.FirstService">
            </service>
        // 点击按钮开启服务
            public void click1(View v) {

                Intent intent = new Intent(this, FirstService.class);
                // 开启服务
                startService(intent);

            }

            // 点击按钮停止服务
            public void click2(View v) {
                Intent intent = new Intent(this, FirstService.class);
                stopService(intent);
            }

public class FirstService extends Service {

@Override
public IBinder onBind(Intent intent) {

    System.out.println("onBind");
    return null;
}

//当服务第一次被开启的时候调用
@Override
public void onCreate() {`
    System.out.println("onCreate");
    super.onCreate();
}
//之后的点击的时候会一直执行此方法
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    System.out.println("onStartCommand");
    return super.onStartCommand(intent, flags, startId);
}

//服务销毁的时候执行
@Override
public void onDestroy() {
    System.out.println("onDestroy");
    super.onDestroy();
}

}

bindService 方式开启服务的特点

(1)当点击按钮第一次开启服务 会执行服务的onCreate方法 和 onBind()方法
(2) 当我第二次点击按钮在调用bindservice 服务没有响应
**(3) 当activity销毁的时候服务也销毁 不求同时生但求同时死
(4)通过bind方式开启服务 服务不能再设置页面里面找到 相当于是一个隐形的服务
(5)bindservice不能多次解绑 多次解绑会报错 多次绑定无响应

// 点击按钮通过 bindservice 方式去开启服务
public void click3(View v) {
Intent intent = new Intent(this,FirstService.class);

    //连接到服务FirstService 

     conn = new MyConn();
     System.out.println("bind----"+conn);
     bindService(intent,conn, BIND_AUTO_CREATE);


}

//点击按钮 取消绑定服务
public void click4(View v) {
     System.out.println("unbind----"+conn);
    unbindService(conn);
}

//当activity销毁的时候调用
@Override
protected void onDestroy() {
    //当activity销毁的时候  取消绑定服务
    unbindService(conn);

    super.onDestroy();
}




//用来监听服务的状态
private class MyConn implements ServiceConnection{

    //连接成功后调用
    @Override
    public void onServiceConnected(ComponentName name, IBinder service) {

    }

    //失去连接调用
    @Override
    public void onServiceDisconnected(ComponentName name) {

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值