操作系统能理解的简单形式,以达到跨界对象访问的目的。在J2EE中,采用RMI的方式,可以通过序列化传递对象。在Android中,则采用AIDL的方式。理论上AIDL可以传递Bundle,实际上做起来却比较麻烦。AIDL(Android接口描述语言)是一种接口描述语言;编译器可以通过aidl文件生成一段代码,通过预先定义的接口达到两个进程内部通信进程的目的。如果需要在一个Activity中,访问另一个Service中的某个对象,需要先将对象转化成AIDL可识别的参数(可能是多个参数),然后使用AIDL来传递这些参数,在消息的接收端,使用这些参数组装成自己需要的对象。AIDL的IPC的机制和COM或CORBA类似,是基于接口的,但它是轻量级的。它使用借类在客户端和实现层间传递值。如果要使用AIDL,需要完成两件事件:第一、引入AIDL的相关类;第二、调用AIDL产生的class。4.1.2通过AIDL实现“挂机”功能可能是出于安全方面的考虑,AndroidSDK在1.5版本之后,就把实现“挂机”的方法“屏避”掉了。之所以说“屏避”掉了,是因为通过查看操作系统
源代码发现,发现依然可