zoukankan      html  css  js  c++  java
  • 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里面的方法

  • 相关阅读:
    pytest_04
    pytest_03
    pytest_02
    CF 1416C XOR Trie
    CF 1413D
    ZOJ 3725 概率dp
    ZOJ 3726
    位运算
    CF1439C 线段树
    unordered_set
  • 原文地址:https://www.cnblogs.com/cxj20160928/p/5916886.html
Copyright © 2011-2022 走看看