【发布时间】:2019-04-03 14:34:42
【问题描述】:
我正在编写一个旨在受其他应用程序约束的 Android 服务。它使用Messenger 作为IBinder。
现在我偶然发现了一个问题:如果我想发送一个 Message 和一个 what 和一个 String,我原本打算使用 Message.obj 来处理它。
正如文档所述,这不起作用:
当使用 Messenger 跨进程发送消息时,如果它包含一个框架类的 Parcelable(不是由应用程序实现的),则它只能是非空的。对于其他数据传输,请使用 setData(Bundle)。
这提出了两个(相关的)问题:
- 为什么在 Android 中
String不是Parcelable? - 有没有比为它创建一个 Bundle 并在那里设置我的 String 更“优雅”的解决方案?
【问题讨论】:
标签: android ipc message-queue parcelable