Uri on Activity.onActivityResult(int requestCode, int resultCode, Intent data)

Uri on Activity.onActivityResult(int requestCode, int resultCode, Intent data)

我对Android中内容提供者的可靠性有些怀疑。

1 - 不同的 Document 是否可能具有相同的 URI?

例如。用户在设备中有 2 张图像:

content://com.android.providers.media.documents/document/image%AAAAA

content://com.android.providers.media.documents/document/image%BBBBB

假设 AAAAA 指向一个文件,然后用户删除该文件。

用户然后在系统中创建一个新文件,该新文件接收 AAAAA Uri。

这种情况会发生吗?

或者它们是按顺序生成的,以便首先创建 CCCCC DDDDDetc..,以一种我可以相信 Uri 始终指向相同文件实例的方式(如果没有,则为 null文件可以通过那个 Uri 找到)?

2 - 是否有可能 Uri 指向已被显着更改的文档?

曾经是音频,现在是图像的文档是否可以具有与曾经相同的标识符?我并不是说用户更改了文件内容,而是一个隐含的意图给了我一个 Uri,我可以相信 Uri 对于该设备中的那个文档是唯一的吗?

Can this scenario happen?

是的。

Can a document, that once was Audio, and now is an Image, have the same identifier that once had?

是的。

请注意,同样的事情也适用于计算机中的几乎所有其他东西。例如,URL 可以重复使用以指向不同的 Web 内容,包括具有不同 MIME 类型的内容。