Android服务

开启服务 (startservice)

服务一旦开启与调用者没有任何的关系 , 调用着的activity 即便是退出了 也不会影响

后台的service的运行.

在activity里面 不能去调用服务里面的方法 .

 

 

通过绑定方式开启服务(bindservice)

服务跟调用者不求同生 ,但求同死.

如果调用者(activity)退出了 那他绑定的服务呢 也会跟着退出.

我们可以在activity里面调用服务里面的方法.

利用 serviceSonnection 接口 返回一个ibinder对象 ,

拿着ibinder对象获取到服务里面方法的引用(自定义了一个接口信息) ,调用服务里面的方法 

 

总结流程:

1.要想访问 一个服务里面的方法 我们需要用到 bindservice();

   一 创建一个服务 这个服务里面有一个要被调用的方法.

   二 定义一个接口IService , 接口里面的抽象方法 就是去调用service里面的方法

   三 定义一个mybinder对象 extends IBinder对象 实现 我们声明的接口IService, 在onbind

      方法里面把mybinder返回回去

   四 在activity里面 通过bindservice的方法开启服务

   五 创建出来一个我们MyConn 实现 ServiceConnection接口 onserviceConnected的方法 。这个方法会有一个参数 这个参数就是 MyBinder的对象  

   六 把mybinder强制类型转化成 IServcie

   七 调用IService里面的方法

posted @ 2016-09-28 16:28  HOOHyou  阅读(133)  评论(0编辑  收藏  举报