Android中Service组件使用问题

1.代用bindService()方法

if(bindService==null){
                    Intent    serviceintent=new Intent(this,MyService.class);
                    bindService(serviceintent,conn,Context.BIND_AUTO_CREATE);
                }
 bindService.init();

2.private ServiceConnection conn = new ServiceConnection() {


        @Override
        public void onServiceDisconnected(ComponentName name) {
            // TODO Auto-generated method stub
            bindService=null;//解除绑定
        }


        @Override
        public void onServiceConnected(ComponentName name, IBinder service) {
            // TODO Auto-generated method stub
            MyBinder binder = (MyBinder)service;
            bindService = binder.getService();//绑定服务

            bindService.init();
        }
    };


3.绑定service之后把service赋值给bindService对象,然后通过这个对象执行init()方法。但是程序却报错了,调试的时候居然发现无法进入服务的onCreate之类的方法,因为bindService方法会异步执行。真正判断连接是否成功的事件是ServiceConnection接口里的onServiceConnected事件,所以需要把绑定成功后的处理逻辑移到这个方法内执行,也就是连接成功之后代用bind对象方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值