- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尽我所能研究内容提供商,但我无法理解安装在手机上的其他应用程序如何访问我提供的内容的概念。其他应用怎么可能知道我的 CONTENT_URI 是什么???
我正在制作一个联系人应用程序。其他应用程序如何获取我存储的联系人数据,其他应用程序似乎不可能知道我为 CONTENT_URI 设置的内容。如果其他应用基本上需要知道只有我知道的 secret key 是什么,这不会破坏内容提供的全部目的吗?
我希望其他应用程序能够看到我的联系人应用程序数据,而不是忽略我的并且只在现有的联系人应用程序中查找数据。
如果 Android 会创建 ContactsContract 提供程序,如果这将导致开发人员使用它来获取联系人数据,因此默认情况下使所有其他第 3 方联系人应用程序过时,因为其他开发人员编写的代码本质上只是从中获取联系人数据普通的 Android 联系人应用程序?
Android 似乎并没有为我提供任何使用 ContactsContracts 提供程序的数据提供给其他应用程序的方法。然而,粗糙的 Android 已经让它变得非常清晰、简单,并鼓励需要联系人数据的开发人员使用 ContactsContract。
这是公然夺权吗?我的联系人应用程序的全部目的是让我的联系人数据更加安全,这样 Google 就无法收集这些数据(如果他们愿意),也无法收集任何其他人的数据。
请问有人可以指教吗?这不可能是正确的,我希望我在这里误解了。再次仅供引用,我在 Android 开发者页面上的任何地方都找不到任何与我遇到的问题相关的内容。
最佳答案
这绝对不是抢权。联系人被嵌入到操作系统中,因为用户需要他们的手机存储电话号码以及姓名和其他信息以与该电话号码相关联。谷歌所做的与当年的翻盖手机没有什么不同,除了让用户可以选择将他们的联系人同步到云端。但是,这不是必需的。用户可以将联系人添加到他们的手机中,并使其与手机相关联。
ContactsContract
允许应用访问存储在设备上的联系人,这只有在用户授予应用访问其联系人的权限后才有可能。有些应用程序使用此功能充当联系人管理器(以不同布局显示用户联系人的应用程序)。某些应用程序为用户提供在线备份联系人的服务,以防用户不想使用 Google(例如 FullContact)。但是,大多数应用通常出于其他原因读取联系人,例如帮助用户找到在其应用中拥有帐户的 friend /熟人/同事等。
为了解决其他开发者如何实现应用程序的 CONTENT_URI 的问题,他们通过阅读开发者文档来实现。如果您是提供内容的开发者,那么您有责任发布必要的文档,以便让其他开发者了解如何使用您的应用。
关于android - 如何让其他应用程序知道要查找的 CONTENT_URI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37019137/
我是一名优秀的程序员,十分优秀!