Android AIDL包裹使用

Android AIDL包裹使用,android,parcelable,aidl,Android,Parcelable,Aidl,我读过Android开发者网站上关于包裹和AIDL的文章,但我仍然有一个问题。为什么可以从AIDL接口方法返回Parcelable对象,但不能作为参数传递到AIDL方法中?我知道AIDL接口方法需要原始数据类型(如android开发者网站所述),但我可以将Uri对象作为参数传入-那么为什么我不能传入可包裹对象呢?您可以使用AIDL传递可包裹对象。文档中说:“如果您有一个类希望通过IPC接口从一个进程发送到另一个进程,您可以这样做。但是,您必须确保您的类的代码可用于IPC通道的另一端,并且您的类必

我读过Android开发者网站上关于包裹和AIDL的文章,但我仍然有一个问题。为什么可以从AIDL接口方法返回Parcelable对象,但不能作为参数传递到AIDL方法中?我知道AIDL接口方法需要原始数据类型(如android开发者网站所述),但我可以将Uri对象作为参数传入-那么为什么我不能传入可包裹对象呢?

您可以使用AIDL传递可包裹对象。文档中说:“如果您有一个类希望通过IPC接口从一个进程发送到另一个进程,您可以这样做。但是,您必须确保您的类的代码可用于IPC通道的另一端,并且您的类必须支持Parcelable接口。”


你的最后三句话(不包括“谢谢”)都是指“这个”,不清楚你认为“这个”是什么。是的,我确实读过。但是,当我尝试使用Parcelable对象作为参数时,AIDL文件会抛出错误。另一方面,我可以将它用作接口函数的返回类型。根据我在其他地方读到的内容,它不能用作in参数。因为现在我已经前进了,没有使用它们,但以后可能会回到这里。因此,我不再有代码,但当我回到这里时,我肯定会发布我得到的错误。@Satura9Nine我们可以在.aidl void sendMessageParcelable(字符串应用程序,Parcelable包裹)中声明下面这样的方法吗@umesh我不相信使用Parcelable本身会起作用,因为Android希望参数类型不仅实现Parcelable,而且还有一个创建者。看。如果您发送的是Parcelable本身,那么它似乎也无法达到使用AIDL的目的,因为它没有特定的含义。如果您想要一个同步的灵活IPC解决方案,您可以考虑使用CordTebug提供。