如何在AIDL中使用Parcelable

时间:2017-05-14 09:13:36

标签: android parcelable aidl

我定义了一个实现Parcelable的类,如下所示:

public class Book implements Parcelable

我知道我可以在AIDL文件中使用这个类:

import com.okay.demo.aidl.bean.Book;
interface IBookManager {
   void addBook(in Book book);
}

但我想知道的是,我可以在AIDL文件中Parcelable假设我不知道实现类吗?我可以像这样使用Parcelable

interface IBookManager {
   void addData(in Parcelable data);
}

我曾尝试将Book替换为Parcelable,但它没有用。

或者不能在AIDL中这样做?

1 个答案:

答案 0 :(得分:0)

Android documentation表示您应该为班级Book创建一个AIDL文件。您的Book.aidl应如下所示:

import com.okay.demo.aidl.bean.Book;

// Declare Rect so AIDL can find it and knows that it implements
// the parcelable protocol.
parcelable Book;

使用这个新文件,您现在可以在AIDL文件中使用Book

import com.okay.demo.aidl.bean.Book;

interface IBookManager {
   void addData(in Book book);
}