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里面的方法

  • 相关阅读:
    多通道 移位寄存器 verilog
    modelsim-altera IP核仿真
    modelsim-altera
    YUV视频显示软件+源码
    opencl教程
    使用VisualStudio读写NI FPGA板卡实例(基于FPGA Interface C API Generator)
    Visual Studio编译与调用DLL方法
    NI FPGA板卡程序设计概述
    LabVIEW中使用GPU进行高性能计算
    Windows平台编程涉及的函数
  • 原文地址:https://www.cnblogs.com/cxj20160928/p/5916886.html
Copyright © 2011-2022 走看看