bindService的使用:

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

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

 public class MyBindService extends Service {
     @Nullable
     @Override
     public IBinder onBind(Intent intent) {
         return new MyBinder();
     }
     public void myfunction(){
         System.out.println("我是服务里的方法");
     }
     @Override
     public void onCreate() {
         super.onCreate();
     }
     public class MyBinder extends Binder{
         public void call(){
             myfunction();
         }
     }
 }

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

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

myBinder = (MyBindService.MyBinder)service;
用myBinder对象调用call方法,从而调到服务里面的myfunction()方法

 public class MainActivity extends AppCompatActivity {

     private Myconn conn;
     private MyBindService.MyBinder myBinder;

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
     }

     public void click(View v){
         conn = new Myconn();
         bindService(new Intent(this,MyBindService.class),conn,BIND_AUTO_CREATE);
     }

     public void click1(View v){
         myBinder.call();
     }
     public void click2(View v){
         unbindService(conn);
     }

     private class Myconn implements ServiceConnection {
         @Override
         public void onServiceConnected(ComponentName name, IBinder service) {
             myBinder = (MyBindService.MyBinder)service;
         }
         @Override
         public void onServiceDisconnected(ComponentName name) {
         }
     }
 }
onServiceConnected()当绑定成功后调用该方法。
onServiceDisconnected()取消绑定后调用该方法。
 

unBinder()方法不能多次取消绑定。

												

bindService初步了解的更多相关文章

  1. 【Android学习】Service&Boradcast初步

    Service初步 掌握Service概念 掌握Service分类 Service开发能力具备 了解Service和intentService类的区别 重点难点 StartService和BoundS ...

  2. 移动端之Android开发的几种方式的初步体验

    目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得: 开发方式 开发环境 是否需要AndroidSDK 支持跨平台 开发语言&技能 MUI Win+ ...

  3. CSharpGL(29)初步封装Texture和Framebuffer

    +BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(29)初步封装Texture和Framebuffer +BIT祝威+悄悄在此留下版了个权的信息说: Texture和Framebuffe ...

  4. Android自定义View初步

    经过上一篇的介绍,大家对于自定义View一定有了一定的认识,接下来我们就以实现一个图片下显示文字的自定义View来练习一下.废话不多说,下面进入我们的正题,首先看一下我们的思路,1.我们需要通过在va ...

  5. 初步认识Node 之Node为何物

    很多人即便是在使用了Node之后也不知道它到底是什么,阅读完本文你应该会有一个初步的.具体的概念了.    Node的目标 提供一种简单的构建可伸缩网络程序的方法.那么,什么是可伸缩网络程序呢?可伸缩 ...

  6. [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二)

    [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二) Date  周六 10 一月 2015 By 钟谢伟 Category website develop ...

  7. 基于C/S架构的3D对战网络游戏C++框架 _05搭建系统开发环境与Boost智能指针、内存池初步了解

    本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): ...

  8. Azure底层架构的初步分析

    之所以要写这样的一篇博文的目的是对于大多数搞IT的人来说,一般都会对这个topic很感兴趣,因为底层架构直接关乎到一个公有云平台的performance,其实最主要的原因是我们的客户对此也非常感兴趣, ...

  9. CozyRSS开发记录14-RSS源管理初步完工

    CozyRSS开发记录14-RSS源管理初步完工 1.添加源的响应 DialogHost.Show有几个版本的重载,加一个DialogClosingEventHandler参数.我们让添加源对话框的添 ...

随机推荐

  1. android 设置布局横屏竖屏

    只要在AndroidManifest.xml里面配置一下就可以了.在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入android:screenOr ...

  2. Nginx之location 匹配规则详解

    有些童鞋的误区 1. location 的匹配顺序是“先匹配正则,再匹配普通”. 矫正: location 的匹配顺序其实是“先匹配普通,再匹配正则”.我这么说,大家一定会反驳我,因为按“先匹配普通, ...

  3. RSA Study

    These days I study the RSA Algorithm. It is a little complex, but not very. Also, my study has not f ...

  4. Visual Studio 代码折叠快捷键(摘要)

    代码编辑器的展开和折叠代码确实很方便和实用.以下是展开代码和折叠代码所用到的快捷键,很常用: Ctrl + M + O: 折叠所有方法 Ctrl + M + M: 折叠或者展开当前方法 Ctrl +  ...

  5. HDU3535AreYouBusy[混合背包 分组背包]

    AreYouBusy Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  6. AC小笔记

    1:基本库函数的使用 Rand()函数,可以产生0~32767之间的随机数. a+rand()%(b-a)  可以得到 [a,b] 之间的随机数. 2:基本数据类型的使用 可以使用强制类型转换 例如: ...

  7. HTML标签用法

    <!DOCTYPE> 声明必须位于 <html> 标签之前.它不是 HTML 标签:它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令. 信息输入标签:in ...

  8. git创建本地分支

    git branch -b newbranch //创建并切换到newbranch分支下 git push origin newbranch //推送到远程仓库的newbranch分支下,没有就创建

  9. 【QCon笔记】Native 和 Web 融合

    #main img{width:100%;} 简介 理清 Native 和 Web 的亮点和痛点,借鉴对方亮点解决自身的痛点,并给出淘系 App 在这些方面的实践. Mobile Web 的协作能力底 ...

  10. 安装MySQLdb

    MySQLdb模块不太好装,如果是在python2.7环境下,可以使用一种简易安装方式 root@iZ2893wjzgyZ:~# apt-get install python2.7-mysqldb 测 ...