Activitty和Service通信

无论是在同进程还是跨进程都是通过 Ibinder来实现的。

同进程的情况:

Activity向Service通信,在activity中使用bindService的方式,传过去一个connection,在它的回调方法中可以获得到 Ibinder对象,在强转为我们的binder对象,通过方法传参的方式实现Activity向Service通信

Service向Activity通信,connection的回调方法中设置binder的监听,从而可以从Service中得到信息

跨进程的情况:

利用Android提供的aidl方式来实现,这里的aidl是一个个的文件,文件中可以理解成是一个接口,如果接口中还用到其他aidl,需要导入相应的包,即使在同一个包下(切记,切记,切记)

然后make progect就ok了

这里注册监听使用的是 android.os包下的RemoteCallBackList 在myBinder中实现注册和解除注册的方法,同样在connection中通用 XX.Sub的静态方法得到Ibinder对象,进而使用它已经定义好的注册监听的方法。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值