Android Binder——APP中的Binder通信(十八)

        在 APP 开发中,四大组件中的 Activity 和 Service 是其中最常见的,在 Activity 启动 Service 的时候经常用到 bindService() 方法,而这就是建立 Binder 通信的过程。这一篇内容我们就来分析一下这里的 Binder 通信。

一、绑定服务

1、MyService

// 假设我们有一个Service叫MyService
public class MyService extends Service {
    // Binder类
    private final IBinder binder = new LocalBinder();
 
    // 提供一个方法供Activity调用
    public void doSomething() {
        // 执行一些操作
    }
 
    // 由Activity绑定Service使用
    public class LocalBinder extends Binder {
        MyService getService() {
            // 返回当前Service的实例,允许Activity调用公开的方法
            return MyService.this;
        }
    }
 
    @Override
    public IBinder onBind(Intent intent) {
        return binder;
    }
}

2、MainActivity

public class MainActivity extends AppCompatActivity {
    private MyService.LocalBinder binder;
    private boolean bound = false;
 
    @

相关推荐

  1. Android Binder——APPBinder通信

    2024-04-26 19:42:01       11 阅读
  2. Android binder 匿名服务实现双向通信

    2024-04-26 19:42:01       13 阅读
  3. 【安卓跨进程通信IPC】-- Binder

    2024-04-26 19:42:01       10 阅读
  4. 算法通关村第关 | 黄金 | 较难回溯问题

    2024-04-26 19:42:01       46 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-26 19:42:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-26 19:42:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-26 19:42:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-26 19:42:01       20 阅读

热门阅读

  1. C++默认参数

    2024-04-26 19:42:01       9 阅读
  2. Bazel离线编译SPU

    2024-04-26 19:42:01       16 阅读
  3. git rebase 使用详解

    2024-04-26 19:42:01       14 阅读
  4. 一些RabbitMQ面试题

    2024-04-26 19:42:01       15 阅读
  5. RTT学习

    RTT学习

    2024-04-26 19:42:01      13 阅读
  6. Docker备忘清单(三)

    2024-04-26 19:42:01       10 阅读
  7. vue3前端请求后端接口动态渲染菜单

    2024-04-26 19:42:01       11 阅读
  8. leetcode144--二叉树的前序遍历

    2024-04-26 19:42:01       12 阅读
  9. 使用Dokcer中的Mysql导入sql文件

    2024-04-26 19:42:01       15 阅读
  10. 银行卡四要素API接口的验证流程

    2024-04-26 19:42:01       14 阅读