AIDL 包裹使用
我已经阅读了有关 Parcels 和 AIDL 的 Android 开发者网站,但我仍然有一个问题。为什么 Parcelable 对象可以从 AIDL 接口方法返回,但不能作为参数传递到 AIDL 方法中?我知道 AIDL 接口方法需要原始数据类型(如 android 开发者网站所述),但我能够将 Uri 对象作为参数传递 - 那么为什么我不能传递 Parcelable 对象呢?
I've read Android Developer sites about Parcels and AIDL but I still have a question. Why can a Parcelable object be returned from an AIDL interface method but not passed as a parameter into an AIDL method? I know that AIDL interface methods want primitive data types (as stated by the android developer website) but I am able to pass a Uri object in as a parameter - so why can I not pass a Parcelable object in?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 AIDL 传递可分割对象。文档说“如果您想通过 IPC 接口将一个类从一个进程发送到另一个进程,您可以这样做。但是,您必须确保您的类的代码可用于 IPC 的另一端通道和您的类必须支持 Parcelable 接口。”
http://developer.android.com/guide/components/aidl.html#PassingObjects
You can pass parcelable objects using AIDL. The docs say "If you have a class that you would like to send from one process to another through an IPC interface, you can do that. However, you must ensure that the code for your class is available to the other side of the IPC channel and your class must support the Parcelable interface."
http://developer.android.com/guide/components/aidl.html#PassingObjects