bind开启服务的生命周期

来源:互联网 发布:淘宝饰品店铺名 编辑:程序博客网 时间:2024/06/03 04:49
         特点:
1.第一次绑定服务时,先创建服务对象,再绑定,调用的方法onCreate,onBind;
2.解除绑定的服务时先解除绑定的服务,然后销毁服务对象;
3.服务只能被绑定一次;
4.服务只能被解除一次,多次解除会抛出异常;

5.当前界面关闭时会解除绑定的服务,销毁服务对象;

       推荐的混合方式:(既能让服务长期运行在后台又能够调用服务中的业务方法)
1.startService:为了保证让服务长期运行在后台;
2.bindService:为了能够调用服务中业务方法;
3.unBindService:为了不再调用服务中业务方法;
4.stopService:为了销毁服务的对象;


        用服务注册广播接受者:

        原因:google强制要求操作比较频繁的广播事件不能再清单文件注册,只能在代码注册,否则无效;

         //注册广播接受者

         // 1.创建广播接收者对象
ScreenBroadcastReceiver receiver = new ScreenBroadcastReceiver();
// 2.创建intentfilter
IntentFilter filter = new IntentFilter();
// 3.添加接收的事件名称
filter.addAction("android.intent.action.SCREEN_ON");
filter.addAction("android.intent.action.SCREEN_OFF");
// 4.注册广播接收者
registerReceiver(receiver, filter);