android – AIDL vs Messenger

要求:需要将服务/合同从其他流程公开给其他应用程序.例如:getPhoneRecord(recordId),deletePhoneRecord(phoneId)等.
潜在的解决方案:Messenger或AIDL

根据我的分析,我认为AIDL是唯一的选择,因为Messenger提供了一种非常通用的跨应用程序发送消息的方式. Messenger仅限于在客户端发送(Message)和在服务器上发送handleMessage(Message msg).还存在其他差异,例如多线程.但是,我关心的是从其他应用程序/消费者可以调用的服务定义API契约.我的理解是否正确?

解决方法

是的,你的理解是正确的.在任何一种情况下,您都必须明确定义您的API.如果使用Messenger,它只是异步的自定义消息,因此如果您需要服务发回数据,那么客户端也需要某种类似的机制.使用AIDL和绑定器更符合您所描述的操作.

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...