bindService初步了解
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初步了解相关推荐
- 【金阳光测试】Android自动化测试第一季第三讲—Monkey原理初步和改良优化
百度传课:http://www.chuanke.com/v1983382-106000-218427.html 一.理论知识: 官方文档:http://developer.android.com/to ...
- Android service的两种使用方式bindService和startService使用方式
服务与多线程的区别: 服务仍然是运行在主线程中,而Thread则是真正的开启了一个新的线程来执行先关操作. 那为什么要用服务呢,初步理解是服务是为了更好地管理线程.试想,当我们在某一个activity ...
- TensorRT 7.2.1开发初步
TensorRT 7.2.1开发初步 TensorRT 7.2.1开发人员指南演示了如何使用C ++和Python API来实现最常见的深度学习层.它显示了如何采用深度学习框架构建现有模型,并使用该模 ...
- SOC,System on-a-Chip技术初步
SOC,System on-a-Chip技术初步 S O C(拼作S-O-C)是一种集成电路,它包含了电子系统在单个芯片上所需的所有电路和组件.它可以与传统的计算机系统形成对比,后者由许多不同的组件组 ...
- 《OpenCV3编程入门》学习笔记3 HighGUI图形用户界面初步
第3章 HighGUI图形用户界面初步 3.1 图像的载入.显示和输出到文件 1.OpenCV命名空间2种访问方法 (1)代码开头加:usingnamespace cv; (2)每个类或函数前加:cv ...
- 初步判断内存泄漏方法
有时候,内存泄漏不明显,或者怀疑系统有内存泄漏,我们可以通过下面介绍的方法初步确认系统是否存在内存泄漏. 首先在Java命令行中增加-verbose:gc参数, 然后重新启动java进程. 当系统运行 ...
- android蓝牙4.0(BLE)开发之ibeacon初步
一个april beacon里携带的信息如下 ? 1 <code class=" hljs ">0201061AFF4C0002159069BDB88C11416BAC ...
- 游戏AI之初步介绍(0)
目录 游戏AI是什么? 游戏AI和理论AI 智能的假象 (更新)游戏AI和机器学习 介绍一些游戏AI 4X游戏AI <求生之路>系列 角色扮演/沙盒游戏中的NPC 游戏AI 需要学些什么? ...
- 【转】ibatis的简介与初步搭建应用
[转]ibatis的简介与初步搭建应用 一.ibatis的简介 ibatis是什么东西就不介绍了,自己去找谷老师. 这里讲下自己的使用体会.之前自己学过Hibernate,是看尚学堂的视频教学的,看完 ...
最新文章
- Android应用自动更新功能实现使用AsyncTask!
- c++计算eigen随笔(9)-数组、矩阵、向量(2)
- unity android 符号表,记录腾讯bugly关于符号表的配置
- 计算机硬件统的构成,计算机硬件统的构成部件.ppt
- (5)vue.js 基础语法—el选项
- TS流解析 二 *****
- WebSocket 实现原理
- OPENSSH升级为7.4
- 计算机进入屏保快捷键,电脑如何快速进入屏保
- Redis中的事务和三特性
- 华为云服务器价格表(CPU内存/磁盘/带宽收费标准)
- windows10 LTSC版本 安装应用商店及聚焦屏保
- SpringBoot18:集成SpringSecurity
- TQFP 和LQFP 器件的焊接方法
- 大班线描机器人_大班线描画-有趣的巨人
- springboot启动 lombok 找不到符号
- 会声会影2023旗舰版新增七大功能介绍
- 先进先出物料架_仓库物料的先进先出FIFO管理(如何做到先进先出)
- 申请ssl 验证域名 失败了 中间证书
- Linux学习:入门,概述,常用命令,环境安装