bindService的使用:

    当需要调Service里面的方法时,可以用bindService()

首先定义一个类继承于Service,然后配置Manifest.xml文件

 1 public class MyBindService extends Service {
 2     @Nullable
 3     @Override
 4     public IBinder onBind(Intent intent) {
 5         return new MyBinder();
 6     }
 7     public void myfunction(){
 8         System.out.println("我是服务里的方法");
 9     }
10     @Override
11     public void onCreate() {
12         super.onCreate();
13     }
14     public class MyBinder extends Binder{
15         public void call(){
16             myfunction();
17         }
18     }
19 }

通过onBind()方法返回一个对象,给onServiceConnected(ComponentName name, IBinder service)

方法里面的Service,然后通过强转得到一个MyBinder对象

myBinder = (MyBindService.MyBinder)service;用myBinder对象调用call方法,从而调到服务里面的myfunction()方法
 1 public class MainActivity extends AppCompatActivity {
 2
 3     private Myconn conn;
 4     private MyBindService.MyBinder myBinder;
 5
 6     @Override
 7     protected void onCreate(Bundle savedInstanceState) {
 8         super.onCreate(savedInstanceState);
 9         setContentView(R.layout.activity_main);
10     }
11
12     public void click(View v){
13         conn = new Myconn();
14         bindService(new Intent(this,MyBindService.class),conn,BIND_AUTO_CREATE);
15     }
16
17     public void click1(View v){
18         myBinder.call();
19     }
20     public void click2(View v){
21         unbindService(conn);
22     }
23
24     private class Myconn implements ServiceConnection {
25         @Override
26         public void onServiceConnected(ComponentName name, IBinder service) {
27             myBinder = (MyBindService.MyBinder)service;
28         }
29         @Override
30         public void onServiceDisconnected(ComponentName name) {
31         }
32     }
33 }

onServiceConnected()当绑定成功后调用该方法。
onServiceDisconnected()取消绑定后调用该方法

转载于:https://www.cnblogs.com/Godfunc/p/6039464.html

bindService初步了解相关推荐

  1. 【金阳光测试】Android自动化测试第一季第三讲—Monkey原理初步和改良优化

    百度传课:http://www.chuanke.com/v1983382-106000-218427.html 一.理论知识: 官方文档:http://developer.android.com/to ...

  2. Android service的两种使用方式bindService和startService使用方式

    服务与多线程的区别: 服务仍然是运行在主线程中,而Thread则是真正的开启了一个新的线程来执行先关操作. 那为什么要用服务呢,初步理解是服务是为了更好地管理线程.试想,当我们在某一个activity ...

  3. TensorRT 7.2.1开发初步

    TensorRT 7.2.1开发初步 TensorRT 7.2.1开发人员指南演示了如何使用C ++和Python API来实现最常见的深度学习层.它显示了如何采用深度学习框架构建现有模型,并使用该模 ...

  4. SOC,System on-a-Chip技术初步

    SOC,System on-a-Chip技术初步 S O C(拼作S-O-C)是一种集成电路,它包含了电子系统在单个芯片上所需的所有电路和组件.它可以与传统的计算机系统形成对比,后者由许多不同的组件组 ...

  5. 《OpenCV3编程入门》学习笔记3 HighGUI图形用户界面初步

    第3章 HighGUI图形用户界面初步 3.1 图像的载入.显示和输出到文件 1.OpenCV命名空间2种访问方法 (1)代码开头加:usingnamespace cv; (2)每个类或函数前加:cv ...

  6. 初步判断内存泄漏方法

    有时候,内存泄漏不明显,或者怀疑系统有内存泄漏,我们可以通过下面介绍的方法初步确认系统是否存在内存泄漏. 首先在Java命令行中增加-verbose:gc参数, 然后重新启动java进程. 当系统运行 ...

  7. android蓝牙4.0(BLE)开发之ibeacon初步

    一个april beacon里携带的信息如下 ? 1 <code class=" hljs ">0201061AFF4C0002159069BDB88C11416BAC ...

  8. 游戏AI之初步介绍(0)

    目录 游戏AI是什么? 游戏AI和理论AI 智能的假象 (更新)游戏AI和机器学习 介绍一些游戏AI 4X游戏AI <求生之路>系列 角色扮演/沙盒游戏中的NPC 游戏AI 需要学些什么? ...

  9. 【转】ibatis的简介与初步搭建应用

    [转]ibatis的简介与初步搭建应用 一.ibatis的简介 ibatis是什么东西就不介绍了,自己去找谷老师. 这里讲下自己的使用体会.之前自己学过Hibernate,是看尚学堂的视频教学的,看完 ...

最新文章

  1. Android应用自动更新功能实现使用AsyncTask!
  2. c++计算eigen随笔(9)-数组、矩阵、向量(2)
  3. unity android 符号表,记录腾讯bugly关于符号表的配置
  4. 计算机硬件统的构成,计算机硬件统的构成部件.ppt
  5. (5)vue.js 基础语法—el选项
  6. TS流解析 二 *****
  7. WebSocket 实现原理
  8. OPENSSH升级为7.4
  9. 计算机进入屏保快捷键,电脑如何快速进入屏保
  10. Redis中的事务和三特性
  11. 华为云服务器价格表(CPU内存/磁盘/带宽收费标准)
  12. windows10 LTSC版本 安装应用商店及聚焦屏保
  13. SpringBoot18:集成SpringSecurity
  14. TQFP 和LQFP 器件的焊接方法
  15. 大班线描机器人_大班线描画-有趣的巨人
  16. springboot启动 lombok 找不到符号
  17. 会声会影2023旗舰版新增七大功能介绍
  18. 先进先出物料架_仓库物料的先进先出FIFO管理(如何做到先进先出)
  19. 申请ssl 验证域名 失败了 中间证书
  20. Linux学习:入门,概述,常用命令,环境安装

热门文章

  1. ntfs分区对linux的局限,如何使Linux支持NTFS分区
  2. ubuntu内核和主线内核_ubuntu上更新和卸载Linux内核
  3. 汽车之家APP口碑--参数分析
  4. Adebe CC 2020中文版
  5. 【多线程】线程池拒绝策略详解与自定义拒绝策略
  6. 【全文搜索引擎】Elasticsearch相关介绍与linux系统安装
  7. sql server compact
  8. 函数动态传参详细,作用域和名称空间,global和nonlocal
  9. java并发:简单面试问题集锦
  10. JavaScript原型学习