当进行AIDL跨进程通讯时,如果抛出 Binder invocation to an incorrect interface ,则主要是因为2种情况。
1、最普遍的,客户端 VS 服务端 的AIDL必须保证完全一样,包括包名,类名,接口名及其里面的代码。否则会抛出以上异常。
2、如果第一条符合,则检查下调用的服务是否正确,如果调用的服务不一致或者服务中返回给客户端的Binder不是客户端想要的,则也会抛出以上异常。比如:当返回的Binder同时实现了onTransact(int code, android.os.Parcel data, android.os.Parcel reply, int flags)方法并在该方法内return false和AIDL接口方法,则调用AIDL接口的方法时会报上述错误。
【安卓】Binder invocation to an incorrect interface 异常分析
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Android Interface Definition Language (AIDL) 注:本文翻译自https...
- Binder深入理解 背景知识进程隔离:进程隔离是为保护操作系统中进程互不干扰而设计的一组不同硬件和软件的技术。这...