aidl: Android Interfacedefinition language,即安卓接口定义语言,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口
ipc:inter processcommunication :内部进程通信


首先实现aidl远程服务:

1,新建as工程,new->AIDLfile创建IMiddlePerson.aidl。

2,然后新建RemoteService继承Service

3,在RemoteService新建内部类MyBinder

private class MyBinder extends IMiddlePerson.Stub{    @Override    public void callMethonInService() {//这里调用远程方法        methodInService();    }}

4在onBind方法中返回MyBinder类对象

5在Manifest中声明Service 并添加意图过滤器

    
这样远程服务创建完成。


客户端绑定远程服务

1,绑定

Intent intent = new Intent();intent.setAction("org.cailu.remoteservice");//Android 5.0以后service服务必须采用显示方式启动,所以必须加上这句话。就是aidl文件所在的包名intent.setPackage("cailu.org.aidlserver");bindService(intent, conn, BIND_AUTO_CREATE);


2.创建MyConn实现ServiceConnection接口。在onServiceConnected中将service转成IMiddlePerson对象。
IMiddlePerson iMp = IMiddlePerson.Stub.asInterface(service);

3.通过iMp可以访问远程的方法

代码地址:demo

更多相关文章

  1. 一款霸榜 GitHub 的开源 Linux 资源监视器!
  2. android 常见死机问题-如何分析
  3. Android(安卓)进程间通信-Intent、Messenger、AIDL
  4. ①Android(安卓)NuPlayer播放框架
  5. Android(安卓)开发之 Services 服务
  6. Android(安卓)MVP 模式应用实例
  7. Security and Permissions 安全与权限 (一)
  8. Android(安卓)Java(2015-6-18 15:28、2016-1-30 21:18、2016-5-31
  9. android studio 中好用的插件————你值的拥有

随机推荐

  1. android:inputType标签
  2. 【Android(安卓)UI设计与开发】之具体解
  3. Android(安卓)RelativeLayout属性介绍
  4. 安装android的sdk
  5. Android(二)HelloWorld,Android(上)
  6. Android(安卓)SDK Android(安卓)NDK Andr
  7. Android之实现点击波纹效果
  8. Android(安卓)禁止横竖屏切换
  9. Android的EditText控件常用属性
  10. Android系统自带样式(android:theme)