gpt4 book ai didi

java - 需要共享 ContentProvider 代码但唯一的内容权限

转载 作者:搜寻专家 更新时间:2023-11-01 09:12:30 26 4
gpt4 key购买 nike

我有一个公共(public)库,它通过 ContentProvider 提供公共(public)数据存储库。然后,各个应用程序引用该库,但有自己独特的数据存储(即共享数据库架构,但每个应用程序都有自己的数据库)。

我的问题是,当我同时安装两个应用程序时,由于权限相同而发生冲突。所以我需要为每个应用程序拥有唯一的内容权限,但找不到在代码中引用唯一权限的好方法(配置 list 不是问题)。我按照建议在每个类型中使用静态 CONTENT_URI,但这些类型需要为每个应用程序返回不同的值(引用特定于应用程序的权限)。恐怕我需要将所有内容都变成非静态访问器,但我真的不想那样做。我还缺少其他方法吗?也许我可以在 list 中设置一些东西?

最佳答案

您需要使用 PackageManager.getProviderInfo() 检索提供商的 ProviderInfo。 ComponentName 可以从提供者所在的 Context 及其类中构造。 ProviderInfo.authority 提供权限。 (如果有多个权限,则这些都以逗号分隔列表的形式打包在该字符串中。)

关于java - 需要共享 ContentProvider 代码但唯一的内容权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7275163/

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