我使用eclipse和android 2.3.3_r1,并从network.It中的服务器下载一个字符串,这是docx文件的内容。
我能收到它的ParcelFileDescritor吗?我想MemoryFile可以帮助我,因为我看到了getParcelFileDescriptor()方法( 这里和这里 ),但是当我在eclipse中编写代码时,在类android.os.MemoryFile中找不到方法getParcelFileDescriptor()。
最后,这是我的问题:可以不使用 插座()吗?
发布于 2012-11-24 09:49:29
getParcelFileDescriptor()是一个包私有方法,所以我无法在我的类(即另一个包中)中找到它,.I试图通过反射来访问它,但最后我理解它返回一个合适的ParcelFileDescritor,当且仅当我们创建我们的MemoryFile作为对现有内存文件的引用,在这种情况下,我们希望从现有内存file.So中获得File descriptor --这个方法无法帮助us.Also,似乎在以后的版本中,这个方法被完全忽略并从类中删除。
发布于 2015-06-16 13:29:34
@Override
public ParcelFileDescriptor openFile(Uri uri){
File f=new File(getContext().getFilesDir(),uri.getLastPathSegment());
ParcelFileDescriptor pfd;
try {
pfd=ParcelFileDescriptor.open(f,ParcelFileDescriptor.MODE_READ_ONLY);
}
catch ( FileNotFoundException e) {
e.printStackTrace();
return null;
}
return pfd;
}https://stackoverflow.com/questions/8487584
复制相似问题