我试图了解如何在 Android 中的应用程序之间进行通信——而不仅仅是在Activity
实例之间。
我设置了一个“客户端”,将 Messenger obj 发送到服务(在Intent
发送到服务中);该服务创建一个Message
obj 并使用messenger.send(message)
. 这工作正常,直到我尝试使用 Message.obj 来保存一个对象。
我在服务中创建了自己的Parcelable
类MyParcelable
并将其放入消息中。一切正常,直到消息在“客户端”中解组。解组失败,因为“客户端”无权访问MyParcelable
该类。这很明显 - 它们位于不同的包中(比如com.whatever.myclient
和com.whatever.myserver
)。这完全是错误的方法吗?
我也尝试过创建一个Parcel
并发送它(两个应用程序都可以访问该类) - 但Parcel
不是Parcelable
. 我已阅读有关正在使用的类加载器的信息,但不了解如何在单独的应用程序(进程,如果我了解这方面的 Android 架构)中分离类加载器。也就是说,一个类加载器如何“教授”另一个类加载器中存在的类?似乎应该有一个明显的“这就是你的做法”,但我还没有看到。