我有一个关于来自MediaStore的媒体文件以获取输出流> = Android 5的问题。
我的问题是从MediaStore Uri获取一个树文档uri(用于写访问),如“content:// media / external / images / media / 334”, 那是不是没有api?
我已经在Intent.ACTION_OPEN_DOCUMENT_TREE上设置了写权限。但获得媒体文件写入权限的唯一方法是目前只手动制作一个Tree-Document uri,如“content://com.android.externalstorage.documents/tree/1C10-2004%3A/document/1C10-2004%3Amatze %2FIMG_20160825_191301.jpg“
我有腹痛来构建我自己的树uri,有没有办法在Android API上做到这一点? (我只需要一个输出流到MediaStore文件)
由于
答案 0 :(得分:0)
那没有api吗?
关闭袖带,看起来不像是从Uri
检索到的ACTION_OPEN_DOCUMENT_TREE
。只有ACTION_OPEN_DOCUMENT_TREE
与fromTreeUri()
上的DocumentFile
一起使用。
我只需要一个输出流到MediaStore文件
理论上,使用openOutputStream()
在ContentProvider
上拨打Uri
。如果此Uri
是单个内容,则它不是树。
现在,我不知道你是如何得到Uri
的,因为你没有在你的问题中解释这一点。请注意you only have access to the content identified by a Uri
for a short time。
但是获得媒体文件写入权限的唯一方法是目前只能手动创建一个像Tree-Document一样的文件
这看起来也不像树。它看起来像是一段内容,特别是JPEG。
如果Uri
在您获得openOutputStream()
后立即无法直接使用Uri
,那么您可能应该使用其他机制来获取Uri
的地方。