gpt4 book ai didi

android - 多个 ContentProvider 可以提供相同的 URI 吗?

转载 作者:太空宇宙 更新时间:2023-11-03 12:42:26 24 4
gpt4 key购买 nike

在 Android 上查询 ContentProvider 时,通过为该 ContentProvider 提供“内容 URI”来指定感兴趣的 ContentProvider。当多个 ContentProvider 有意提供同一个 URI 时会发生什么?还是恶意的?

当我尝试在手机上打开图片时,我看到它提示可以“处理”图片的应用程序。这里会发生同样的事情吗?

最佳答案

多个 ContentProvider 无法做到这一点。第一个使用其 list 中的元素注册内容提供者的应用程序可以控制 URI 模式。如果您尝试添加另一个使用相同 URI 模式的提供程序,我敢肯定您会遇到安装错误。 Android 会跟踪提供程序和 URI。

当您看到多个应用程序提示处理一个文件或情况时,那是因为这些应用程序指定了一个子项,其中包括android.intent.category.CATEGORY_ALTERNATIVE 或 android.intent-category.CATEGORY_SELECTED_ALTERNATVE。本质上,一个或多个应用程序声明自己是子项中指定操作的替代方案。这允许用户有多种选择来处理一种类型的数据。

提供替代方案是有意义的:用户可能想要编辑图片、通过 Twitter 分享或通过电子邮件发送。

请注意,两个内容提供者可以做同样的事情,但他们不能使用相同的 URI。应用程序必须有意识地选择使用哪一个,或者提供某种在两者之间进行选择的机制。

关于android - 多个 ContentProvider 可以提供相同的 URI 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5627649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com