jjzjj

openFileDescriptor

全部标签

android - 如何从 Android Q 中的 contentResolver.openFileDescriptor(Uri uri, String s) 获取媒体项 real_Path?

MediaStore.MediaColumns.DATA常量在API级别Q中已弃用。应用程序可能没有直接访问此路径的文件系统权限。应用程序不应尝试直接打开此路径,而应使用ContentResolver#openFileDescriptor(Uri,String)来获得访问权限。对于面向Build.VERSION_CODES.Q或更高版本的应用,此值将始终为NULL。 最佳答案 这是真的,我们无法获得真正的路径。只是简单的方法用contentResolver()打开流并将文件的全部内容复制到新文件中,为了获取文件信息,我们需要调用ge

android - 为什么 ContentResolver.openFileDescriptor 抛出 IllegalArgumentException?出路?

我有两个问题,这里用一段简短的代码来说明我的问题:ContentResolverresolver=context.getContentResolver();DocumentsContract.deleteDocument(resolver,documentUri);resolver.openFileDescriptor(documentUri,"rw");文档说最后一行“ThrowsFileNotFoundExceptionifnofileexistsundertheURIorthemodeisinvalid.”但实际上我得到了java.lang.IllegalArgumentExce