mMemoryFile.writeBytes(buffer, 0, 0, buffer.length);
Method getFileDescriptorMethod = mMemoryFile.getClass().getDeclaredMethod(“getFileDescriptor”);
if (getFileDescriptorMethod != null) {
FileDescriptor fileDescriptor = (FileDescriptor) getFileDescriptorMethod.invoke(mMemoryFile);
// 序列化,才可传送
ParcelFileDescriptor pfd = ParcelFileDescriptor.dup(fileDescriptor);
//写入数据,对应服务端用data.readParcelable(null)接收数据
data.writeParcelable(pfd, 0);
// 或者,对应服务端用data.readFileDescriptor()接收数据
// data.writeFileDescriptor(fileDescriptor);
/**
-
code 是一个整形的唯一标识,用于区分执行哪个方法,客户端会传递此参数,告诉服务端执行哪个方法;
-
data客户端传递过来的参数;
-
replay服务器返回回去的值;
-
flags标明是否有返回值,0为有(双向),1为没有(单向)。
*/
service.transact(100, data, reply, 0);
//服务器返回的值
Stri